2013-07-28 193 views
2

創建texbox的.VAL()值我有HTML文本框如何獲得通過AJAX

<input type="text" id="inputfilter" style="width: 230px;" /> 

我創建這個輸入動態通過AJAX。

如何檢索此複選框的值?我試過

$("#inputfilter").val() 

但沒有工作,因爲textbox不是在頁面初始化時創建的,而是通過AJAX創建的。 我試過這樣的東西

$("#inputfilter").live('val', function(e) {}) 

但它沒有奏效。

感謝

+0

是否存在該輸入的父窗體? – Sergio

+0

你在用什麼值?假設'$(#inputfilter).val()'是'$(「#inputfilter」)。val()'的拼寫錯誤,你可以編輯你的ajax請求來更新你使用它的任何內容 –

+0

。你把文本框添加到dom中了嗎? – Musa

回答

2
$("#inputfilter").val() 

應該工作。我能想到它不工作的唯一原因是你在創建元素之前試圖檢索這個值(並且我在這裏假設你設法創建了元素,正確的id ..但地獄,你永遠不知道)。

注意:.live是用於像點擊這樣的事件處理,所以它在這裏沒有關係(但是是的,事件是一種方式)。

+0

是的,你是對的,它的工作,我明白了..我犯了愚蠢的錯誤,所以它沒有工作:) – Maarty

1

如果您使用append()來動態創建控件,那麼您的方法應該沒問題。在JSFIDDLE上試試我的測試代碼。

我的測試代碼模擬ajax調用,然後設置和檢索值,它的工作原理。

<div id="parentId"></div> 

setTimeout(function() { 
    $('#parentId').append('<input type="text" id="inputfilter" style="width: 230px;" />') 
}, 2000); 

setTimeout(function() { 
    $('#inputfilter').val('test'); 
}, 3000); 

setTimeout(function() { 
    console.log($('#inputfilter').val()); 
}, 4000);