JQuery复选框的未定义值

3

我有3个复选框,但在警告框中显示为未定义。有什么技巧可以使它们显示值吗?我尝试在输入标记中放置值1,但仍报告为未定义。

好的,谢谢.. 这里是一些代码。

        else if (item.field == "admCustRptDly" && item.value == "1")
        {
          $('#admCustRptDly').attr('checked', true);
        }

        else if (item.field == "admCustRptSumm" && item.value == "1")
        {
          $('#admCustRptSumm').attr('checked', true);
        }

        else if (item.field == "admCustRptDtl" && item.value == "1")
        {
          $('#admCustRptDtl').attr('checked', true);
        }

<input type="checkbox" id="admCustRptDly" name="admCustRptDly" class="admChkbx">
<input type="checkbox" id="admCustRptSumm" name="admCustRptSumm" class="admChkbx">
<input type="checkbox" id="admCustRptDtl" name="admCustRptDtl" class="admChkbx">
3个回答

2
 else if (item.field == "admCustRptDly" && item.value == "1")

我不明白你在这里试图做什么?我猜你是想验证“admCustRptDply”复选框的值。也许在此之前还需要发布一下代码。

你可以像这样获取值:

 var val = $("#admCustRptDly").val()

但是在你的 HTML 中,复选框没有 value 属性。

可以通过以下方法获取复选框的 checked 属性:

var checked = $("#admCustRptDly").attr("checked")

你可以这样设置:

$("#admCustRptDly").attr("checked","checked")

1
我知道这个答案是从2009年的,但是想指出一些在此期间已经澄清的事情:只有在HTML代码中它是一个字符串属性时,才应该设置checked="checked"。一旦页面被渲染,checked就变成了一个布尔属性,因此在这里从技术上讲最好设置true/false,而不是"checked"。而且,现在使用jQuery 1.6+,最好使用.prop("checked",true)而不是.attr(...)。 - Wick

2

您的jQuery未开启,这会导致响应不如预期。要查找复选框是否被选中,请使用以下代码:

var checked = $("#admCustRptDtl:checked").val();

此外,checked属性永远不会等于true,实际上的html代码是checked="checked"。

1

你能否详细说明一下?提供一些示例代码会非常有帮助,也许在尝试使用复选框时你可能只是拼写错误了。


感谢你的帮助!我在上面发布了一些代码。我确定它很简单,但我一点也不懂。 - Tom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接