使用jQuery以编程方式设置复选框值

时间:2013-08-09 07:05:16

标签: jquery html

我在HTML中有一个复选框:

<td class="myClass">
    Delete<br><input type="checkbox" id="deleteCheck" class="delete" name="delete" value="">
</td>

我正在尝试使用jQuery以编程方式设置其值,但它没有设置值:

prot.find("#delete").attr("value", "12345");//here prot is reference to table row

我做错了什么?

5 个答案:

答案 0 :(得分:4)

尝试

$("#deleteCheck").val('12345');

OR

$(".delete").val('12345');

deleteCheck是您的 ID ,应该使用#进行选择,而delete,应该选择{ {1}}

答案 1 :(得分:1)

您应该使用:

prot.find("#delete").val("12345");

而不是:

prot.find("#delete").attr("value", "12345");

由于val可以设置以delete作为其ID的字段的值。

答案 2 :(得分:1)

主要问题是,您正在尝试查找ID为delete的元素。但是,复选框的ID deleteCheck没有该ID,只有该名称。如果将代码更改为

,则代码将起作用
prot.find("#deleteCheck").attr("value", "12345");

但更优雅的是,使用.val()方法:

prot.find("#deleteCheck").val("12345");

修改: 一般说明,页面上具有相同ID的多个元素是一个坏主意,并且与HTML规范相反。如果您只有一个带有该ID的复选框,则无需使用prot.find - 部分,而只需使用$('#deleteCheck')

答案 3 :(得分:0)

$('#deleteCheck')[0].value = '12345';

$('#deleteCheck').val('12345');

答案 4 :(得分:0)

HTML

中的

<td class="myClass">
    Delete<br><input type="checkbox" id="deleteCheck" class="delete" name="delete" value="">
</td>

不要根据复选框ID =“deleteCheck”执行操作

Jquery

你可以写

$("table tr").find(":checkbox").val("set value here")'

或者也可以通过

完成
$("table tr .delete").val("set value here")'