Jim*_*Jim 18 html javascript jquery
我有一个HTML表,每行都有一个复选框.
我想循环遍历表,看看是否有任何复选框被选中.
以下不起作用:
$("#save").click( function() {
$('#mytable tr').each(function (i, row) {
var $actualrow = $(row);
checkbox = $actualrow.find('input:checked');
console.log($checkbox);
});
Run Code Online (Sandbox Code Playgroud)
这将在控制台中打印以下内容:
[prevObject: jQuery.fn.jQuery.init[1], context: tr, selector: "input:checked", constructor: function, init: function…]
每行,无论是否选中任何复选框.
更新
相同的问题:
$('#mytable tr').each(function (i, row) {
var $actualrow = $(row);
$checkbox = $actualrow.find(':checkbox:checked');
console.log($checkbox);
});
Run Code Online (Sandbox Code Playgroud)
Min*_*hev 56
请改用:
$('#save').click(function () {
$('#mytable').find('input[type="checkbox"]:checked') //...
});
Run Code Online (Sandbox Code Playgroud)
让我解释一下选择器的作用:
input[type="checkbox"]意味着这将匹配每个<input />类型属性type等于checkbox
之后::checked将匹配所有选中的复选框.
您可以使用以下方法遍历这些复选框:
$('#save').click(function () {
$('#mytable').find('input[type="checkbox"]:checked').each(function () {
//this is the current checkbox
});
});
Run Code Online (Sandbox Code Playgroud)
这是JSFiddle的演示.
这是一个演示,它完全解决了你的问题http://jsfiddle.net/DuE8K/1/.
$('#save').click(function () {
$('#mytable').find('tr').each(function () {
var row = $(this);
if (row.find('input[type="checkbox"]').is(':checked') &&
row.find('textarea').val().length <= 0) {
alert('You must fill the text area!');
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99938 次 |
| 最近记录: |