我在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
我做错了什么?
答案 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)
<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")'