2012-08-01 90 views
2

后,我创建一个应用程序,有几个形式被一个AJAX调用后加载。jQuery的,增加价值为输入文本元素,AJAX负荷

可以说我的主要文件是index.html。然后我有几种形式,通过ajax调用加载到index.html中。

我喜欢做的是检查一个特定的文本输入元素是否加载了一种形式,然后更改该元素的值。有没有办法做到这一点 ?

对于示例中的事件,有live()方法,用于检查稍后使用ajax加载的项目是否创建了某个事件,然后执行某些代码。没有事件我可以做同样的事情吗?我可以在加载后向该输入文本元素添加值吗?

回答

5

您可以定期检查其存在,像这样:

setInterval(function(){ 
    if($('input[name=my_input]').length > 0){ 
     $('input[name=my_input]').val('New Val'); 
    } 
}, 200); 
+0

没有没有功能的亚酰化方式? – 2012-08-01 13:49:43

+1

如果您有权访问AJAX调用,则可以使用完整函数加载表单,但否则此方法会定期查询浏览器以检测元素。 – 2012-08-01 13:51:40

2

这将是一个小的伪代码,因为没有在这个问题提供的标记?

$.ajax({ 
    type: 'POST', 
    url: 'someurl', 
    etc.... 
}).done(function(data) { 
    $(element).append(data); //insert form etc 
}).always(function() { 
    if ($("#inputID").length) {    //check if input element exists 
     $("#inputID").val('some new value'); // could be done with a timeout to make sure the DOM inserting is done 
    } 
});