2012-01-12 58 views
1

Fellas,從動態創建的文本框中檢索值 - jQuery

我正在按鈕單擊動態創建文本框。用戶在其中鍵入一個值。現在,我如何從文本框中提取值?我試過.keyup()和.change(),但不能讓它工作。我現在花了幾個小時。那裏有幫助嗎?

按鈕HTML代碼 -

<input type="button" value="Verify" id="addButton" class="verifybtn"> 

JQuery的用於動態創建的文本框,然後試圖讀取輸入的值 -

$(document).ready(function(){ 
var ctr=0; 
$("#addButton").click(function() { 

    if (ctr < 1){ 
    $('.verifybtn').after('<div id="TextBoxDiv1"><label>Enter Verification Code : </label><input type="textbox" size=5 id="textbox1" class="textbox1"></div>'); 
id="textbox1" class="textbox1">'); 
    ctr++; 
    } 
}); 

$("#textbox1").keyup(function(){ 
    value = $("#textbox1").attr('value'); 
    alert(value); 
}); 

$("#textbox1").change(function() { 
    alert('Handler for .change() called.'); 
}); 

}); 

如果你可以迅速指出什麼林做錯了事,或者建議實現這一目的的替代方法,我將永遠感激。

-DM

回答

2

你也可以把它作爲:

 

$("#textbox1").live('keyup', function(){ 
    value = $("#textbox1").val(); 
    alert(value); 
}); 

 
+0

非常好。這工作。非常感謝。我應該早就問過這裏。 :) – 2012-01-12 12:42:50

1
$("#textbox1").val(); 

獲取價值。您也可以重寫keyUp處理程序是這樣的:

$("#textbox1").keyup(function(){ 
    var value = $(this).val(); 
    alert(value); 
}); 

注意var關鍵字那裏。您要確保value變量的作用域僅限於該函數。

+0

嗯,這是不是。我懷疑這與這個事實有關,即文本框被動態地創建並且在最初創建整個表單時不存在。儘管感謝您的回覆。 – 2012-01-12 12:37:01

0

試試這個

$(".textbox1").val();