是否有jQuery .tmpl()方法完成事件处理?

时间:2011-08-10 14:12:26

标签: php jquery html ajax json

我想问一下,我怎样才能制作$ .tmpl就绪函数?

在我的代码中,我将ajax json传递给我的createForm函数。

var doFunction = {
new: function() { 
    $.ajax({
      url: 'index.php?...',
      success: function(data) {
        createForm(data).appendTo($("#whitespace"));
        $("#whitespace").click(function(){
            $(this).empty().hide();
        });
        $("#popup").click(function(e){
            e.stopPropagation();
        });
        $("#whitespace").show();
      }
    });
},

createForm函数

function createForm(data) {
var $container = $('<div id="popup"></div>');
var $content = $('<article></article>');
$.get('mydomain.com/formcreator.htm', function(template) {
  $.tmpl(template, data).appendTo($content);
});
$content.appendTo($container);
return $container;
}

但如果我告诉$container $container.find(".tabs").tabs(); - 它包含<div class="tabs>...etc...</div>

我认为问题是我没有抓住$ .tmpl完成事件 是否有$ .tmpl的成功事件?

请帮助我。

2 个答案:

答案 0 :(得分:0)

感谢@Aleksi Yrttiaho,解决方案是关闭异步ajax请求,并使用synchronous而不是它。

$.ajax({ url: 'domain.com/formcreator.htm',
success: function(template) {
    $.tmpl(template, data).appendTo($content);
},
async: false
});

答案 1 :(得分:0)

你应该试试这个:

success: function(data) {
        createForm(data).appendTo($("#whitespace"));
        $.fn.ready(function(){
            //your append callback function
        });
}

它很适合我。