2

我有 html 文本框

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

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

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

$("#inputfilter").val() 

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

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

但它没有用。

谢谢

4

2 回答 2

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

应该管用。我能想到它不起作用的唯一原因是您在创建元素之前尝试检索该值(并且我在这里假设您设法使用正确的id..但是地狱,您永远不知道)创建了元素。

注意:.live用于像点击这样的事件处理,所以它在这里不相关(但是是的,事件是一种方法)。

于 2013-07-28T18:32:54.280 回答
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);
于 2013-07-28T18:35:29.727 回答