[英]Enabling dropdown when checkbox checked
我一直在尋找答案,但是一切似乎都只能滿足我所需的一半,這就是我設法開始的原因。 我想做的是選中一個復選框時啟用一個下拉菜單,否則將其禁用。 我不太確定如何在標記中調用該函數,但是我不確定該函數是否正常工作。
function .onCheckChange() {
if ($("#partoption2").is(':checked')) {
$("#parttwoqty").attr('disabled', 'disabled');
$("#partoption2").val("TRUE");
} else {
$("#parttwoqty").attr('disabled');
$("#partoption2").val("FALSE");
}
}
這是小提琴: http : //jsfiddle.net/xjn3Q/1/
謝謝!
該函數正確,但名稱不正確。 另外,如果您使用的是jQuery,則不應直接在html標簽上使用onchange
屬性。
在您的擺弄中,在包括jQuery庫(1.8+)之后,將JS更改為可以使用。 要考慮的另一件事是使用prop
而不是attr
。
$(function(){
$("#partoption2").on('change',function() {
if (!$(this).is(':checked')) {
$("#parttwoqty").prop('disabled', 'disabled');
} else {
$("#parttwoqty").prop('disabled', false);
}
});
});
也許您需要先禁用選擇,以使其顯示為禁用,直到選中該復選框,然后添加$("#parttwoqty").prop('disabled', 'disabled');
在$(function(){
行之后執行此操作。
您的代碼有多個問題,但我只會解決使此示例正常工作的問題。
首先,在您的jsFiddle中,您正在使用jQuery,但是從不加載它(在左側)。
其次,由於您使用的是jQuery,為什么不使用jQuery點擊處理程序,如下所示:
$('#partoption2').click(function () {
if ($("#partoption2").is(':checked')) {
$("#parttwoqty").attr('disabled', 'disabled');
$("#partoption2").val("TRUE");
} else {
$("#parttwoqty").attr('disabled', false);
$("#partoption2").val("FALSE");
}
});
我已經修改了您的小提琴,您可以在這里查看結果http://jsfiddle.net/xjn3Q/9/
var $checkBox = $('#partoption2'),
$select = $('#parttwoqty');
$checkBox.on('change',function(e){
if ($(this).is(':checked')){
$select.removeAttr('disabled');
}else{
$select.attr('disabled','disabled');
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.