我需要检查一个检查箱的检查财产,并使用jQuery进行检查财产的操作。

例如,如果年龄检查框被检查,那么我需要显示一个文本框进入年龄,否则隐藏文本框。

但下列代码默认返回虚假:

如果($('#isAgeSelected').attr('checked')) { $("#txtAge").show(); } 其他 { $("#txtAge").hide(); } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" id="isAgeSelected"/> <div id="txtAge" style="display:none"> 年龄 已选择 </div>

如何成功查询已检查的房地产?


当前回答

对于以前的 jQuery 版本,我不得不使用如下,

$('#change_plan').live('click', function() {
     var checked = $('#change_plan').attr('checked');
     if(checked) {
          //Code       
     }
     else {
          //Code       
     }
});

其他回答

我在Firefox 9.0.1中确认了下列工作,以捕捉检查箱邮件的状态变更:

$("#mycheckbox").change(function() {
    var value = $(this).prop("checked") ? 'true' : 'false';                     
    alert(value);
});

这对我来说工作:

/* isAgeSelected being id for checkbox */

$("#isAgeSelected").click(function(){
  $(this).is(':checked') ? $("#txtAge").show() : $("#txtAge").hide();
});

输入类型="checkbox"的检查属性与默认检查属性进行地图,而不是检查属性。

因此,当在一个页面上做点什么时,当一个检查箱在未检查的情况下进行检查时,请使用 prop() 方法。

使用 attr() 或 getAttribute(在纯粹的 JavaScript 中)在这些情况下不是做事的正确方式。

如果元素是相关的检查箱,那么做这样的事情来征收值:

elem.checked

$(elem).prop('checked')

塞特:

$("#chkmyElement")[0].checked = true;

吉特:

if($("#chkmyElement")[0].checked) {
   alert("enabled");
} else {
   alert("disabled");
}

这对我工作:

$get("isAgeSelected ").checked == true

在哪里是AgeSelected是控制的ID。

此外, @karim79的答案工作得很好,我不确定我在测试时错过了什么。

注意,这是答案使用Microsoft Ajax,而不是jQuery