2016-07-01 5 views
-1

내 csshtml 파일에서 확인란과 선택 항목이 표시된 대화 상자 창을 정의했습니다.대화 상자에 표시된 컨트롤을 비활성화하는 방법은 무엇입니까?

<div id="my_dialog_template" style="display: none;"> 
    <div class="member_selection" id="dlg_member_selection" data-title="Member Selection"> 
     <div class="block_row"> 
      <label>&nbsp;</label> 
      <label class="default_only"> 
       <input id="default_only" type="checkbox" onclick="actionDefaultOnlyCheckedChanged();" /> 
       Default Member Only 
      </label> 
     </div> 
     <div class="block_row"> 
      <label>Selected Member</label> 
      <select class="selected_member" id="selected_member"></select> 
     </div> 
    </div> 
</div> 

@Html.HiddenFor(model => model.IsDefaultOnly, new { @id = "default_only" }) 
@Html.HiddenFor(model => model.SelectedMember, new { @id = "selected_member" }) 
은 "default_only"확인란이 선택 될 때 나는 "selected_member"을 해제하기 위해 내 JS 파일에 무엇을해야

선택?

function actionDefaultOnlyCheckedChanged() { 
    var isDefaultOnly = $("#default_only").val(); 

    // What should I do here??? 

} 

해결책 :

내가 jQuery를 사용하지 않는 솔루션을 발견했다.

var dlg = $("#dialog[template='member_selection']"); 
var defaultOnly = dlg.find('#default_only'); 
var selectedMember = dlg.find(".selected_member"); 

if (defaultOnly.is(":checked")) { 
    defaultOnly.val("True"); 
    selectedMember.prop("disabled", true); 
} else { 
    defaultOnly.val("False"); 
    selectedMember.removeAttr("disabled"); 
} 
+0

가능한 복제 [/ 비활성화 jQuery를 사용하여 선택 필드를 설정하는 방법 ?] (http://stackoverflow.com/questions/10570070/how-to-disable-enable-select-field-using-jquery) –

답변

0


document.getElementById("selected_member").hide();에 대한 편집은 무엇 : 당신이 토글 (사용할 수 있습니다 클릭되지 않은 경우 당신이 그것을 보여주고 싶은 경우
당신은 intead 숨기기) 온 클릭 이벤트 대신 자바 스크립트
에 그것을 할 수 있습니다().
(하지만 당신은 다음 기본값 숨겨야)

+0

이로 인해 "개체가 hide() 메서드를 지원하지 않습니다"라는 메시지가 나타납니다. . – user4134476

+0

그리고 div를 숨기시겠습니까? – Gaetan

0

당신이 시도 할 수 있습니다 :

라이브 데모 여기
$(function() { 
    $('#default_only').on('change',function(){ 
    var isChecked = ($('#default_only:checked').val() == "on")? true : false; 
    $('#selected_member').prop('disabled', isChecked); 
    }); 

}); 

: https://jsfiddle.net/vqdwkdzf/

+0

답장을 보내 주셔서 감사합니다. 데모는 효과가 있었지만 앱은 그렇지 않았습니다. 이것은 컨트롤이 내 애플 리케이션의 대화 상자에 표시된다는 사실과 관련이있을 수 있습니다. Visual Studio의 함수에 중단 점을 넣었음에도 불구하고 확인란 상태가 바뀌면 결코 중단되지 않았습니다. – user4134476

+0

당신은 환영합니다. 그것은 이상합니다. 앱에서 js 스크립트를 어떻게 실행합니까? – Knriano

관련 문제