我在使用PHP和jQuery构建的在线应用程序上遇到了一个独特的UI问题。该页面由jQuery UI选项卡组成,它通过ajax方法加载数据。从呈现选项卡的index.php开始,允许用户打开jQuery UI对话框模式窗口以选择用户。在选择用户(通过其名称旁边的链接)时,函数应关闭对话框窗口,选择选项卡索引#1,并为加载的页面创建一个变量,以允许我运行将填充用户数据的查询在那页。
一切运作良好,但最后一部分......我无法在页面上找到一个变量来挽救我的生命。
首先,设置:
<ul>
<li><a href="dashboard.php">Dashboard</a></li>
<li><a href="currentcall.php">Current Call</a></li>
<li><a href="managequeue.php">Manage Queue</a></li>
<li><a href="admin.php">Admin</a></li>
</ul>
<script type="text/javascript">
var curtab = $('#tabs').tabs();
function chooseSearchProspect(prospect_id, allow_open) {
$('#prospect_search_modal').dialog('close');
$("#tabs").tabs({
disabled: [],
selected: 1,
});
}
</script>
我尝试了几种不同的方法,包括通过“Ajax选项”字段as described here传递ajax参数,这似乎是理想的解决方案,但无论我做什么,似乎我都无法获得$ _REQUEST参数通过currentcall.php。我不能只通过函数中的$('#id').val()
在currentcall.php中设置一个隐藏变量,因为由tabs打开的页面尚未加载到DOM中。我不知道从哪里开始!
答案 0 :(得分:4)
在ajaxOption
解决方案中,您需要使用一个函数,以便每次进行ajax调用时都会重新评估它。
使用
<script type="text/javascript">
var variable_to_pass = 0; // your global variable;
function getVariable(){return variable_to_pass;}
var curtab = $('#tabs').tabs({
ajaxOptions: { data: { variable_used_in_php: getVariable } }
});
function chooseSearchProspect(prospect_id, allow_open) {
$('#prospect_search_modal').dialog('close');
variable_to_pass = 1;// set it to whatever you want to pass to the ajax call..
$("#tabs").tabs({
disabled: [],
selected: 1
});
}
</script>