2013-07-28 37 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);