2012-02-01 22 views
2

如何獲得的每行(使用AddRowTable插件生成)在點擊的值,即,AddRowTable jQuery中在輸入框中選擇性寫

<script type="text/javascript"> 
$("document").ready(function(){ 
$(".addRow-Max4").btnAddRow({maxRow:4, inputBoxAutoNumber:true}); 
$(".delRow").btnDelRow(); 
}); 
</script> 

生成一個表和數字每個輸入框最大4行,所以我得到textfield1,textfield2等在我的桌子上。現在

<table border="0" > 
<tr> 
    <th colspan="2">Input your data</th> 
    <th><input type="button" value="Add Row" class="addRow-Max4"/></th> 
</tr> 
<tr><td> 
    <a href="#" class="autofill">Apple</a> 
    <a href="#" class="autofill">Banana</a> 
    <a href="#" class="autofill">Mango</a> 
    </td><td><input type="text" name="textfield" class="autofill" size="25"/></td> 
    <td><img src="./images/cross.gif" class="delRow" border="0"></td> 
</tr> 
</table> 

我可能會在ROW1決定蘋果,芒果在2行等,並希望對於此行的文本字段根據填充。

我想是這樣的:

$("a[class=autofill]").click(function() 
{ 
$("input[name=textfield]").val($(this).text()); 
return false; 
}); 

,但沒有得到它爲不同的文本框工作。

任何想法?

好了,現在我有

$("a[class=autofill]").live("click", function(){ 
$("input[name=textfield1]").val($(this).text()); 
return false; 
}); 

但我怎麼也得調整它,使其動態的每一行。比方說textfield1,textfield2,textfield3等等。

回答

1

我只是簡單地看了一下,但我想也許click()在click事件定義後使用的元素上沒有生效。請嘗試使用live()代替:$("a[class=autofill]").live("click", function(){ ... });

+0

如果在頁面加載後添加這些行,則無法像完成那樣將事件綁定到它們。 Zach L是正確的,您必須使用「live」將事件綁定到頁面加載後添加到DOM的元素。你現在也可以使用.delegate() – 2012-02-01 14:42:44

+0

確定使用「live」。還有一個問題:如何在這裏調用每一行:$(「input [name = textfield]」)。val($(this).text());謝謝 – user1182888 2012-02-01 15:13:09

+0

你能解釋一下嗎?我對你到底想要什麼感到困惑。 – 2012-02-01 16:43:19