jQueryUI模态对话框中的脚本只工作一次
Script within a jQueryUI modal dialog box only works once
我有一个表,当单击任何一行时,启动一个jQueryUI模态对话框,允许用户编辑该记录。我使用下面的脚本,似乎工作,成功地加载相关记录的详细信息在使用AJAX:
$("#datatbl tr").bind('click', function() {
var url = 'item_edit.asp?id='+$(this).attr("data-myid");
var dialog = $('<div style="display:hidden" title="Record details:"></div>').appendTo('body');
// load remote content
dialog.load(
url,
{},
function (responseText, textStatus, XMLHttpRequest) {
dialog.dialog({
height: 440,
width: 550,
autoOpen: false,
modal: true,
buttons: {
"Update this record": function() {
$('#editform').submit();
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
dialog.dialog('open');
}
);
//prevent the browser to follow the link
return false;
});
它的工作ok的第一次我点击一个记录,但如果我点击取消,并尝试编辑另一个记录,对话框确实出现(与正确的记录细节)然而,对话框内没有脚本工作-例如:有一个jqueryUI日期拾取器输入和一些验证。
没有javascript错误,从我对FireBug的有限理解来看,我不能发现任何错误,所以我很感激一些如何继续的建议,谢谢!
<我>编辑:啊!有时,需要像在这里输入这样的东西才能发现显而易见的东西。我刚刚意识到,当对话框关闭时,为对话框创建的DIV不会被销毁。我添加了一行来做这个,现在它可以工作了。谢谢你的聆听。:) 我>
为了将来参考,我在'var dialog'中创建的DIV中添加了一个ID,并在Cancel函数中删除了它:
Cancel: function() {
$( this ).dialog( "close" );
$('#dialogbox').remove();
}
如果有人建议一个更好的方法来处理这个行为,我仍然很感激。
我修复了这个问题:当对话框关闭时,为对话框创建的div不会被销毁。
我在'var dialog'中创建的DIV中添加了一个ID,并在Cancel函数中删除了DIV:
Cancel: function() {
$( this ).dialog( "close" );
$('#dialogbox').remove();
}
您可以只创建一次对话框,而不是每次加载它的内容,只需将autoOpen设置为false。
<div id="dialog">
<div id="content" style="display:hidden" title="Record details:"></div>
</div>
$('#dialog').dialog({
height: 440,
width: 550,
autoOpen: false,
modal: true,
buttons: {
"Update this record": function() {
$('#editform').submit();
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
$("#datatbl tr").bind('click', function() {
var url = 'item_edit.asp?id='+$(this).attr("data-myid");
// load remote content
$('#content').load(url);
$('#dialog').dialog('open');
return false;
}};
相关文章:
- Jquery FadeIn FadeOut 只工作一次
- jQuery滚动功能只工作一次
- iOS鼠标中心绑定只工作一次
- mongoose.js Model.remove在循环中只能工作一次
- 复选框一次选中一个不在gridview中工作
- Regex拆分-工作一次
- EventListener只能工作一次
- jQuery animate只在单击时工作一次
- data th JS每页只工作一次
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- remove仅每隔一次进行儿童工作
- CSS 类在验证时只工作一次
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 单击仅工作一次
- MVC 分部视图中的 JQuery UI 自动完成功能只能工作一次
- Yelp API、OAuth和Angular与JSONP只工作一次
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 滚动时加载更多 滚动速度时一次工作两次
- 为什么一个ng应用程序一次工作
- Ajax请求只在每隔一次工作