信息:jQuery 1.6.0
HTML复选框:
首先,我确保jQuery已加载:
if(jQuery) {
alert("loaded");
}
就是这种情况,它已加载。
然后紧接着我使用的那一行:
var returnvalue = jQuery("#mycheckbox").attr("checked");
alert(returnvalue);
由于某种原因,这始终会警告“未定义”。我100%确认ID存在。我也尝试了以下方法:
jQuery("#mycheckbox").find('input[type="checkbox"]').each(function(){
alert("foo");
if (jQuery(this).is(":checked"))
ReturnVal = true;
});
但这甚至没有弹出警报。
我究竟做错了什么?我到目前为止是jQuery或Javascript专家,但这应该可以工作...对吗?
编辑:
我试过了:
jQuery(document).ready(function() {
alert(id);
var returnvalue = jQuery("#" . id).prop("checked");
alert(returnvalue);
});
alert(id)给我正确的ID,但是alert(returnvalue)返回未定义。
我也尝试过:
if(jQuery) {
alert("loaded");
}
jQuery(function() {
alert(id);
var returnvalue = jQuery("#" . id).attr("checked");
alert(returnvalue);
});
结果相同
编辑2:
使用.prop并在ID后面附加“+”而不是“。”后(PHP习惯),它可以工作。谢谢大家的帮助!
最佳答案
1.6
或更高版本,请使用prop()
而不是attr()
:var returnvalue = jQuery("#mycheckbox").prop("checked");
这是因为如果您没有在元素中包含显式的
checked
属性,则该属性为undefined
,尽管该属性具有其默认值。.find()
:jQuery("#mycheckbox").each(function(){
alert("foo");
if (jQuery(this).is(":checked"))
ReturnVal = true;
});
在问题中包括您的HTML将很有帮助。