背景
在页面上使用php动态创建带有行的表。
使用 jquery-ui-1.8.14.custom.min.js 和 jquery-1.5.1.min.js
的目标:
我希望能够点击一行,它将使用php页面中的新内容更新Jquery Ui对话框div,然后在Jquery Ui对话框中显示该内容。
$(function(){
$('tr').live('click', function(){
$('.ui-dialog').load('<?php echo base_url();?>index.php/a/b/1');
$('.ui-dialog').dialog('open');
});
});
此代码使对话框显示和消失非常快,而不会停止。 我也尝试过以下我认为可行的方法:
$(function(){
$('tr').live('click', function(){
$('.ui-dialog').load('<?php echo base_url();?>index.php/a/b/1',
function(){
$('.ui-dialog').dialog('open')
});
});
});
对话框代码:
$(function(){$('.ui-dialog').dialog({
autoOpen: false,
width: 600,
draggable: true,
resizable: true,
open: function(){
$('.ui-widget-overlay').fadeIn();},
beforeClose: function(){
$('.ui-widget-overlay').fadeOut();},
show: "fade",
hide: "fade",
buttons: {
"Back to search": function() {
$(this).dialog("close"); }
}
})});
非常感谢任何帮助。感谢。
答案 0 :(得分:1)
当您初始化时:
$(function(){$('.ui-dialog').dialog({
autoOpen: false,
width: 600,
draggable: true,
resizable: true,
open: function(){
$('.ui-widget-overlay').fadeIn();},
beforeClose: function(){
$('.ui-widget-overlay').fadeOut();},
show: "fade",
hide: "fade",
buttons: {
"Back to search": function() {
$(this).dialog("close"); }
}
})});
当.ui-dialog
删除它时,它会向.load()
添加HTML。
您需要做的是将初始化代码放在 ajax加载之后,或者:
$(function(){
$('tr').live('click', function(){
$('.ui-dialog .ui-dialog-content').load('<?php echo base_url();?>index.php/a/b/1',
function(){
$('.ui-dialog').dialog('open')
});
});
});
答案 1 :(得分:0)
类似这样的事情
$(function() {
$('tr').live('click', function() {
var obj = $('<div/>');
obj.load('<?php echo base_url();?>index.php/a/b/1', function() {
obj.dialog({
close: function(event, ui) {
$(this).dialog("destroy")
}
})
})
})
})