2013-07-10 69 views
1

我想在input標記的onblur事件後顯示tr標記。我做了功能,但它不工作。我想要什麼,當用戶模糊input然後只有第一。從blured輸入應檢查tr應該可見。下面是例子code如何使用jQuery在輸入旁邊顯示<tr>標記?

<script type="text/javascript"> 
$(function(){ 
    $('input').blur(function(){ 
     $(this).closest('tr').nextAll('tr').filter(function(){ 
      return $(this).index()==0 
     }) 
    }) 
}) 
</script> 
<style> 
    .check{ display:none} 
</style> 

<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
     <td><input /></td> 
    </tr> 
    <tr class="check"> 
     <td>hiiii</td> 
    </tr> 
    <tr> 
     <td><input /></td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
    </tr> 
    <tr class="check"> 
     <td>hiiii</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td><input /></td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
    </tr> 
    <tr class="check"> 
     <td>hiiii</td> 
    </tr> 
</table> 

回答

1

你可以得到通過選擇未來tr.check,而無需對其進行過濾:

Demo

$('input').blur(function(){ 
    $(this).closest('tr').nextAll('tr.check').first().show(); 
}); 
+0

它正在處理第一個輸入。它應該與第二個和第三個輸入一起工作 – Carlos

+0

您是對的,我已經更新了演示。 – mishik

+0

感謝它工作正常 – Carlos

1

試試這個:

$(function() { 
    $('input').blur(function() { 
     $(this).parents('tr').nextAll('tr.check').slice(0,1).show(); 
    }) 
}) 

jsFiddle

+0

它只能用第一個輸入工作 – Carlos

+0

確實,檢查更新 –

相關問題