我有一个看起来像这样的表:
<table>
<tr><td><input class="serv1" type="checkbox" name="ser1[]" id="ser1[]" value="Yes"></td><td><input class="serv2" type="checkbox" name="ser2[]" id="ser2[]" value="Yes" ></td><td><input class="serv3" type="checkbox" name="ser3[]" id="ser3[]" value="Yes" ></td></tr>
<tr><td><input class="serv1" type="checkbox" name="ser1[]" id="ser1[]" value="Yes"></td><td></td><td><input class="serv3" type="checkbox" name="ser3[]" id="ser3[]" value="Yes"></td></tr>
</table>
使用jquery,当点击即ser3 [](第一行)时,我检查是否检查了ser2 [](也在第一行),如果不是,我不允许检查。
在第2行中我没有ser2 []所以我必须检查是否存在ser2 [],检查是否检查了ser1 [](总会有ser1 []和ser3 [])
我的代码如下:(我只插入了代码的一部分,我遇到了麻烦)
$('.serv3').change(function() {
if($(this).parents('tr').find('td.serv2')){
alert('exist')}
else{
alert('Not Exist')
}
});
我的问题是,即使在第2行,当我检查ser3 []时,它找到了一个ser2 [],我只能假设在行1中找到了ser2 []。 所以我的问题是我如何才能将.find()限制为当前行。
谢谢!
答案 0 :(得分:0)
你可以做到这一点
$('.serv3').on('change', function () {
if($(this).closest('td').siblings('td').find('.serv2').length){
alert('exist');
}
else{
alert('not exist');
}
});