好的,所以我有以下代码显示在特定页面中使用div创建对话框:
$('#modal').dialog({
autoOpen: false,
width: 600,
height: 450,
modal: true,
resizable: false,
draggable: false,
title: 'Enter Data',
close: function() {
$("#modal .entry_date").datepicker('hide');
}
});
$('.modal').click(function() {
$('#modal').dialog('open');
});
一切正常。但是,现在我想要做的是也能够在对话框窗口中打开一个链接。例如使用 以下代码的内容:
<a href="/path/to/file.html" class="modal">Open Me!!</a>
之前我通过硬编码路径来完成此操作,如下面的示例代码所示:
$('#modal').load('/path/to/file.html').dialog('open');
但是,在这种情况下,我们无法对javascript中的路径进行硬编码,因为会有来自数据库的多个项目。
此时我正在努力了解如何让它发挥作用。我也相信答案是非常明显的,而我只是让自己在StackOverflow上被聪明的人们贬低。
今天下午我已经摸不着头脑了,所以我的自负已被收起,希望有人可以指出我正确的方向如何正确编码。
答案 0 :(得分:6)
你可以抓住href属性并加载
$('.modal').click(function(e) {
e.preventDefault();
$('#modal').load(this.href).dialog('open');
});
答案 1 :(得分:1)
在此代码对话框中,大小和标题在链接
中声明
<script type="text/javascript">
function tb_parseQuery(query) {
var Params = {};
if (!query) { return Params; }// return empty object
var Pairs = query.split(/[;&]/);
for (var i = 0; i < Pairs.length; i++) {
var KeyVal = Pairs[i].split('=');
if (!KeyVal || KeyVal.length != 2) { continue; }
var key = unescape(KeyVal[0]);
var val = unescape(KeyVal[1]);
val = val.replace(/\+/g, ' ');
Params[key] = val;
}
return Params;
}
$(document).ready(function () {
$('a.uimodal').bind('click', function () {
var $this = $(this);
var url = $this.attr("href");
var queryString = url.replace(/^[^\?]+\??/, '');
var params = tb_parseQuery(queryString);
TB_WIDTH = (params['width'] * 1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
TB_HEIGHT = (params['height'] * 1) + 40 || $(document).height(); //defaults to 440 if no paramaters were added to URL
TB_Title = (params['title']);
$('<div>').dialog({
modal: true,
open: function () {
$(this).load(url);
},
height: TB_HEIGHT,
width: TB_WIDTH,
title: TB_Title
});
return false;
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a class="uimodal" href="Dialog.aspx?height=350&width=700&title=تست"> click</a>
</div>
</form>
</body>
</html>
答案 2 :(得分:0)
href
属性:
var link = $('#modal').attr('href');
$('#modal').load(href).dialog('open');