我想打開一個jQuery UI對話框,其中的HTML已由ajax加載,但我只得到警報。如何打開ajax加載的jQuery UI對話框?
$(document).on("click",'#dialog-button',function(){
alert('this works');
$('#dialog').dialog('open');//this doesn't
});
當我不使用ajax(和.on)將模板放入模板中時,我沒有遇到任何問題。
對話框HTML由AJAX加載喜歡這個東西simular:
$.ajax({
type: "GET",
dataType: "json",
url: href,
success: function(data){
$('#dialog-container').html(data.dialog);
}
});
而且在我的PHP,我會做這樣的事情:
<?php
//assign some variables
$array = array('dialog' => $this->smarty->fetch('dialog.tpl'));
echo json_encode($array);
?>
這工作:
$(document).on("click",'#dialog-button',function(){
alert('this works');
$('#dialog').dialog({
autoOpen : true,
height : 500,
width : 1000,
modal : true,
buttons : {
save : function() {
sendForm();
$(this).dialog('close');
},
cancel : function() {
$(this).dialog('close');
},
close : function(){
allFields.vall('').removeClass('ui-sate-error');
},
}
})
})
你有沒有包含jQuery Ui lib?並且似乎有一個額外的'});'。 – Jai 2013-03-11 18:00:56
我使用的谷歌圖書館 – Tim 2013-03-11 18:32:13