2017-09-16 4 views
-1

확인란을 선택하면 드롭 다운을 사용하려고합니다. 하지만 그렇게 할 때 ... 작동하지 않았습니다. Pls 여기 좀 도와주세요. HTML :확인란을 선택한 경우 드롭 다운 사용 안함 ... 드롭 다운이 활성화되지 않음

   <label class="checkbox-inline"> 
       <input type="checkbox" value="" id="onstage">On Stage 
       </label> 


         <div class="col-md-9"> 
         <select name="occupation" id="occupation" multiple="multiple" disabled="disabled"> 
         <option value="Actor">Actor</option> 
         <option value="Supervisor">Supervisor</option> 
         <option value="Extra">Extra</option> 
        </select> 

JQuery와 :

<script type="text/javascript"> 
$(function(){ 

      $("#onstage").click(function(){ 

       if($(this).is(":checked")){ 
        $("#occupation").removeAttr("disabled"); 
        $("#occupation").focus(); 
       } else { 
        $("#occupation").attr("disabled", "disabled"); 
       } 
      }); 
     }); 
    </script> 
+0

버전을 사용하면 사용하고 있습니까? –

+0

3.2.1 버전 @ B.Desai –

+0

도 저에게 잘 작동합니다. – bhansa

답변

0

를 사용하면 다음 코드가 작동해야한다 JQuery와 3.2.1를 사용하는 경우.

확인 한 번

1) 당신은 JS 다른 코드 (오류에 대한 콘솔을 확인)

2) 고유해야합니다 확인 ID를 확인에서 오류가없는 그래서 당신은 onstageoccupation 한 번만 있어야합니다 문서의

$(function(){ 
 

 
      $("#onstage").click(function(){ 
 

 
       if($(this).is(":checked")){ 
 
        $("#occupation").removeAttr("disabled"); 
 
        $("#occupation").focus(); 
 
       } else { 
 
        $("#occupation").attr("disabled", "disabled"); 
 
       } 
 
      }); 
 
     });
<label class="checkbox-inline"> 
 
    <input type="checkbox" value="" id="onstage">On Stage 
 
</label> 
 

 

 
<div class="col-md-9"> 
 
<select name="occupation" id="occupation" multiple="multiple" disabled="disabled"> 
 
    <option value="Actor">Actor</option> 
 
    <option value="Supervisor">Supervisor</option> 
 
    <option value="Extra">Extra</option> 
 
</select> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

편집 당신이 bootstrap multiselect 그래서 당신이 사용하고 multiselect이 같은 코드를 chcgae 속성을 해제 할 필요가 사용하는 귀하의 의견에 따라 :.

$("#onstage").click(function(){ 
if($(this).is(":checked")){ 
     $("#occupation").multiselect('enable');      
} else { 
     $("#occupation").multiselect('disable'); 
} 
}); 
+0

나는 또한 그것을 체크 한 제안을 추가 했습니까? –

+0

예, 콘솔에서 아무런 오류도 체크하지 않았습니다 ... –

+0

그리고 그것들이 유일합니까? –

1

당신은 disabled 재산, if you're using jQuery 1.6+을 설정 prop 대신 attr을 사용해야합니다. 또한이 같은 코드를 단순화 할 수 있습니다 :

$("#onstage").change(function(){ 
    $("#occupation").prop("disabled", !$(this).is(":checked")); 

    if($(this).is(":checked")){ 
     $("#occupation").focus(); 
    } 
}); 
+1

도 attr과 잘 작동합니다. https://jsfiddle.net/0b2tenov/ – bhansa

+0

@bhansa interesting. 왜 이것이 효과가 있는지 아십니까? – adiga

0

사용 $ ("# 직업") ATTR ("장애인" "진실 "); 당신의 선택을 취소 확인란의 시간에 선택된 값을 제거 할 경우 다른 블록에

<script type="text/javascript"> 
$(function(){ 

      $("#onstage").click(function(){debugger; 

       if($(this).is(":checked")){ 
        $("#occupation").removeAttr("disabled"); 
        $("#occupation").focus(); 
       } else { 
        $("#occupation").attr("disabled", "true"); 
       } 
      }); 
     }); 
    </script> 
+0

은 @AkashK도 작동하지 않았습니다. –

0

, 당신은이를 사용할 수 있습니다 JQuery와의

$("#onstage").click(function(){ 
 
    $("#occupation").prop("disabled", !$(this).is(":checked")).val(''); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="checkbox-inline"> 
 
    <input type="checkbox" value="" id="onstage"/> On Stage 
 
</label> 
 
<div class="col-md-9"> 
 
    <select name="occupation" id="occupation" multiple="multiple" disabled="disabled"> 
 
     <option value="Actor">Actor</option> 
 
     <option value="Supervisor">Supervisor</option> 
 
     <option value="Extra">Extra</option> 
 
    </select> 
 
</div>

관련 문제