0

我在 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

我究竟做错了什么?

4

5 回答 5

4

试试喜欢

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

或者

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

deleteCheck是你应该选择的id是你的班级应该选择#delete.

于 2013-08-09T07:06:08.413 回答
1

主要问题是,您正在尝试查找具有 ID 的元素delete。然而,该复选框有 IDdeleteCheck没有那个 ID,它只有那个名字。如果您将代码更改为

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

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

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

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

于 2013-08-09T07:12:15.253 回答
1

你应该使用:

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

代替:

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

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

于 2013-08-09T07:09:45.180 回答
0
$('#deleteCheck')[0].value = '12345';

或者

$('#deleteCheck').val('12345');
于 2013-08-09T07:07:36.450 回答
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")'
于 2013-08-09T07:11:15.873 回答