2011-08-17 67 views
1

好吧,正如标题所暗示的那样,我打开了一个模式对话框,并且需要传递各种变量,其中之一就是我开始的页面的url。现在,如果创建对话框的jQuery位于页面头部的脚本标记中,那么这不会成为问题,因为我可以使用PHP来回显信息并将它作为GET字符串附加到URL中,但代码实际上是在头部引用的外部.js文件中。将变量从PHP页面传递给jQuery模态窗口

的script.js:

var dialogVariables = { 
    modal: true, 
    autoOpen: false, 
    width: 500, 
    buttons: { 
     Cancel: function() { 
      $(this).dialog('close'); 
     } //end cancel button 
    },//end button 
    open: function() { 
     $("#reportDialog").load("/report.php");} 
    }; 
$("#reportDialog").dialog(dialogVariables); 

任何想法,我如何能够通过整个信息?

回答

1

将数据输出到隐藏的表单域。使用这些表单域中的值来构造url。

+0

具有内容的整体思路通过AJAX加载,而不是存储在一个带显示的内联div:没有一个是为了避免这种情况,是不是可以从模态窗口的report.php中获取这些值? 编辑:因为我无法访问该URL(它有效地在script.js中进行硬编码),当然我无法改变它吗? – analbeard

+0

你可以在report.php中传递一个脚本吗?使用jquery load将执行加载文件中包含的任何脚本,这些脚本将可以访问完整的DOM。 – datasage

0

我想补充一些数据属性的元素例如像:

<div id="reportDialog" data-varname="some data"></div> 

你可以得到这样的使用:

$('#reportDialog').data('varname'); 
+0

嗯,这可能只是工作。我今晚太累了,但明天我会觉得这是一份工作 – analbeard

+0

@analbeard:明天祝你好运:) – PeeHaa