2013-08-05 2 views
0

현재 아래에서 볼 수있는 양식이 있습니다. 단순함을 위해 양식은 내가 작업하고있는 확인란에 압축되어 있습니다. 내가 원하는 것은 사용자가 선택적으로 하나 또는 다른 것을 클릭하는 것입니다. 클릭 한 항목에 따라 다른 항목을 비활성화해야합니다. 나는 "dinah"라는 사용자가 전에 비슷한 질문을 한 것으로 알고 있으며이 js fiddle은 http://jsfiddle.net/A5TGf/19/으로 제공되었습니다. 그러나, 어떤 이유로 양식 ID를 적용하고 주변의 블랙리스트 이름을 바꿨을 때 코드가 작동하지 않습니다. 어떤 제안? 감사합니다체크 박스를 비활성화하는 데 도움이 필요합니다.

HTML/PHP

<form name="insertTicket" id="insertTicket" action="index.php" method="POST" > 
<div id="ticket_hidden" style="text-align: center; clear:both;"> 
<div id="visible_div" style="float: left;"> 
<input type="checkbox" name="escalated" id ="escalated" value="Yes" onclick="doInput(this);" tabindex="18">Escalate 
</div> 
<div id="hidden_div" style="float: left; display:none;"> 
<?php 
$dept = $_SESSION['dept_id']; 
$get_email = mysql_query("Select email_name, dept_id, copy_user from emails where escalated = 'yes'"); 
while(($email = mysql_fetch_assoc($get_email))) 
{ 
$department = explode(",", $email['dept_id']); 
if(in_array($dept, $department, TRUE)) 
{ 
    echo ' 
    <input type="checkbox" name="escalated_to[]" id="escalated_to[]" value="'.$email['email_name'].'" />'.$email['email_name'].' 
    '; 
    if($email['copy_user'] == 'YES') 
    { 
     echo ' 
     <input type="text" name="emails[]" style="width: 175px; height: 20px;" placeholder="To:"> 
     '; 
    } 
}   
} 
?> 
</div> 
<div id="visible_divX" style="float: left;"> 
<input type="checkbox" name="email" id="email" value="Yes" onclick="doInputs(this);" tabindex="20">Send Email&nbsp;&nbsp;&nbsp;</div></td></tr> 
<div id="hidden_divX" style="float: left; display:none; "> 
<?php 
$dept = $_SESSION['dept_id']; 
$get_email = mysql_query("Select email_name, dept_id, copy_user from emails where escalated != 'yes'"); 
while(($email = mysql_fetch_assoc($get_email))) 
{ 
$department = explode(",", $email['dept_id']); 
if(in_array($dept, $department, TRUE)) 
{ 
    echo ' 
    <input type="checkbox" name="emailed_to[]" id="emailed_to[]" value="'.$email['email_name'].'" />'.$email['email_name'].' 
    '; 
    if($email['copy_user'] == 'YES') 
    { 
     echo ' 
     <input type="text" name="emails[]" style="width: 175px; height: 20px;" placeholder="To:"> 
     '; 
    } 
} 
} 

?> 
</div> 
</form> 
+0

현재 JS를 사용하여 다른 두 div 필드를 숨기거나 표시하고 있습니다. 이것이 문제의 원인인지 확실하지 않습니다. –

+0

jQuery를 사용하고 있습니까? show/hide 부분을 실제로 처리하는 JS 코드는 어디에 있습니까? – Maximus2012

+0

jQuery를 사용하는 것이 훨씬 쉬울 것이라고 생각합니다. 이 답변 및 유사한 답변보기 : http://stackoverflow.com/questions/4935819/jquery-disable-all-checkboxes-apart-from-current-one – Maximus2012

답변

0

당신이 자바 스크립트로 체크 박스를 해제해야하는 경우, 당신은 단지 한 줄 필요

document.getElementById("foo").setAttribute("disabled","disabled") 

다시 활성화하는,

document.getElementById("foo").removeAttribute("disabled") 

그런 작업에 jQuery를 사용할 필요가 없다고 생각합니다 ...

행운을 빌어 요!

관련 문제