我有关于何时搜索数据所有复选框都将被检查的问题。我想要的是我搜索数据的时候。然后必须检查数据。
例子我搜索“vin”这个词。只有vin必须检查/ true
这个词这是我的HTML
<input />
<table >
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</table>
<table class="AvailableGroupLab availGrpLabs avalLabs">
<tr>
<td><input type='checkbox'/></td>
<td><span>wewe</span>
</td>
<td>16</td>
</tr>
<tr>
<td><input type='checkbox' /></td>
<td><span>Melvin</span>
</td>
<td>18</td>
</tr>
<tr>
<td><input type='checkbox' /></td>
<td><span>Marvin</span>
</td>
<td>20</td>
</tr>
</table>
这是我的脚本
function filter(element) {
var $trs = $('.AvailableGroupLab tr').hide();
var regexp = new RegExp($(element).val(), 'i');
var $valid = $trs.filter(function () {
return regexp.test($(this).children(':nth-child(2)').text())
}).show();
$valid.find(':input:checkbox').attr("checked",true);
$trs.not($valid).hide()
}
$('input:text').on('keyup change', function () {
filter(this);
})
答案 0 :(得分:1)
应清除其他input:checkbox
已检查的属性。
当$(element).val()
是&#34;&#34;应该是假的还是假的?
$trs.not($valid).hide().find(':input:checkbox').attr("checked",false);
答案 1 :(得分:0)
不确定这是否是您想要的......但您可以尝试使用:contains
function filter(element) {
var $trs = $('.AvailableGroupLab tr').hide(),
$value = $(element).val();
var $searchedElement = $("span:contains(" + $value + ")");
$searchedElement.parents('tr')
.find('input:checkbox').prop('checked', true)
.end()
.show();
}