2012-03-30 72 views
0

我必须使用JQuery获取复选框的值。当我尝试下面的代码时,即使在选中该复选框时,它总是返回“false”作为复选框的结果。Jquery获取复选框的选中值时的问题

var result = $("#checkkBoxId").is(':checked'); 

然后我尝试了另一种方式,如下所示。但结果总是返回“未定义”。

var result = $("#checkkBoxId").attr('checked'); 

任何想法为什么这些代码部分无法正常工作?提前致谢。

+0

您确定您收到的复选框正确吗? – 2012-03-30 16:17:51

+0

我同意迦勒,在我看来,你可能没有得到这个元素。看到这个工作小提琴:http://jsfiddle.net/JXGhp/ – FlabbyRabbit 2012-03-30 16:21:28

+0

Caleb Doucet和FlabbyRabbit - 非常感谢您的快速回复。我很确定我正确地获取了复选框元素,因为我通过visual studio立即窗口检查了它并快速观看。但是当我检查$(“#checkkBoxId”)。attr('checked');它说attr是不确定的。 – Sugandika 2012-03-31 00:50:54

回答

0

它看起来更像是一个问题,你有没有正确的变量名?用户开发人员工具或萤火虫,以确保您拥有正确的ID名称。如果您没有将其设置为静态客户端模式,则会通过浏览器使用不同的ID名称进行渲染。

分享复选框的代码?

+0

非常感谢您的回复。我已经使用了萤火虫和视觉工作室立即窗口并快速观察,以确保我是否正确地获得了复选框元素。当我在直接窗口中键入$(“#checkkBoxId”)时,我能够确保元素正确返回。但是当我检查$(“#checkkBoxId”)。attr('checked');它说attr是不确定的。 – Sugandika 2012-03-31 00:58:33

0

听起来像元素的ID是错误的。 可能有一个错字:检查* k * BoxId在复选框的ID中。

1

我会非常确信问题是您的选择器匹配的元素不存在或不是复选框。您的选择器中的双“k”是否为错字?另外,为了检查单个复选框的检查情况,我强烈建议您跳过jQuery并直接使用DOM布尔checked属性,该属性不可能更简单或更可靠。

SO常规A​​ndy E有relevant blog post about this kind of thing

var result = $("#checkkBoxId")[0].checked;