2015-09-26 15 views
0

检查元素行存在,但只有我有一个表,看起来像这样限制到当前行

<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

'id'应该是唯一的。 – hjpotter92

+0

尝试.closest('td.serv2')并测试长度> 0 –

+0

id是唯一的,这些行是动态生成的,所以这就是为什么我使用[],我只是不知道id会是什么通过ID进行搜索, – user3744959

回答

0

你能做到正确的

$('.serv3').on('change', function() { 
    if($(this).closest('td').siblings('td').find('.serv2').length){ 
     alert('exist'); 
    } 
    else{ 
     alert('not exist'); 
    } 

});

相关问题