2014-04-03 59 views
0

選擇按鈕我有一個表是這樣的:jQuery的從最近​​

<div id="somehting"> 
<table> 
    <tr> 
     <td> 
     <button id="example">...</button> 
     </td> 
     <td> 
     <input type="text" class="text"/> 
     </td> 
    </tr> 
    </table> 
</div> 

我想要得到的啓用/禁用按鈕時我在inputfield一個的keydown事件。爲了做到這一點,我把以下聽衆的代碼:

$('#something').on('keydown', ".text", function(){ 
    $(this).closest("td").find('#example').removeAttr('disabled'); 
}); 

但它不起作用。如何在輸入字段的td之前選擇td中的按鈕?

回答

2

button是在td相同tr沒有,所以你需要找到input元素的tr然後找到button裏面

$(this).closest("tr").find('#example').removeAttr('disabled'); 

注意:如果你有一個ID,然後在沒有需要使用任何其他選擇器,只需使用id選擇器即可。但是,如果重複tr結構,那麼你將不得不使用相同的ID這是不是有效,以便使用類屬性爲button,而不是id多個元素。在事件委派

所以

<button class="example">...</button> 

然後

$(this).closest("tr").find('.example').removeAttr('disabled'); 
+0

哦,我看到的,當然不是在TD及其在同一TR .....萬分感謝! – jmcclane

0

首先,你用錯了家長選擇的文本框keydown.You有DIV ID somehting並在事件中,你正在使用something。試試這個:

$('#somehting').on('keydown', ".text", function(){ 
    $(this).closest("#somehting").find('#example').removeAttr('disabled'); 
}); 

Working Demo