如何获取ajax创建的文本框的.eval()值

时间:2013-07-28 18:23:28

标签: jquery

我有html文本框

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

我正在通过AJAX动态创建此输入。

如何检索此复选框的值?我试过了

$("#inputfilter").val() 

但是没有用,因为文本框不是在页面初始化时创建的,而是后来通过AJAX创建的。 我尝试过这样的事情

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

但它不起作用。

由于

2 个答案:

答案 0 :(得分:2)

$("#inputfilter").val()

应该有效。我能想到它不起作用的唯一原因是你试图在创建元素之前检索该值(我假设你设法使用正确的id创建了元素..但是,地狱,你永远都不知道。

注意:.live用于事件处理,例如点击,因此在这里不相关(但是,是的,事件是一种方法)。

答案 1 :(得分: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);