在我的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> </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" })
我应该如何在我的js文件中禁用&#34; selected_member&#34;选择&#34; default_only&#34;选中复选框?
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 :(得分:0)
document.getElementById("selected_member").hide();
如何呢?
编辑:
您可以在onclick事件而不是javascript中执行此操作
如果你想在未被点击时显示它,你可以使用toggle()intead of hide()
(但你应该默认隐藏)
答案 1 :(得分: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/