如何传递查询字符串(?id = avalue)以及与以下标签相关联的以下每个链接。我试图在选项卡中打开外部内容(它工作正常)但我没有传递带有URL的参数。每个链接的参数值都相同。
我的功能代码:
<script type="text/javascript">
$(function() {
$("#tabs").tabs({spinner:'<b>Retrieving Data...</b>'});
});
</script>
<div id="tabs">
<ul>
<li><a href="table.aspx"><span>Introduction</span></a></li>
<li><a href="RequestActionUpdate.aspx"><span>Update</span></a></li>
<li><a href="tabstesttarget.aspx"><span>Target</span></a></li>
<li><a href="table.aspx" ><span>View History</span></a></li>
</ul>
</div>
非常感谢您提供给我的任何帮助。
提前致谢
答案 0 :(得分:9)
您可以使用ajaxOptions
选项。标签小部件会将这些选项传递到jQuery.ajax()
。
以下代码使用data
函数的jQuery.ajax()
选项将getId
函数(本例中为Unix风格的时间代码)的结果传递给服务器选项卡被选中
请求网址看起来像RequestActionUpdate.aspx?id=1255015611701
:
function getId() {
return (new Date()).getTime();
}
$("#tabs").tabs({
spinner:'<b>Retrieving Data...</b>',
ajaxOptions: { data: { id: getId } }
});
答案 1 :(得分:1)
您可以将参数硬编码到每个链接:
<li><a href="RequestActionUpdate.aspx?id=avalue"><span>Update</span></a></li>
这应该可以正常工作。究竟什么不适合你?或者你还有别的想法吗?
答案 2 :(得分:1)
从我已经完成的搜索中,最好的办法就是不必做一些丑陋的事情:
window.location = href + '?id=avalue'
将更新页面加载上的锚点hrefs。抓住你需要的任何ID /值,然后追加它;
$(document).ready(function(){
value = "?id=foobar"
$("#tabs ul li a").attr('href', ($(this).attr('href') + value) );
});
不是最优雅的解决方案,但确实有效。
答案 3 :(得分:1)
如果在所有链接上添加事件观察器会发生什么?
$("#tabs ul li a").click(
function(){
$(this).attr('href', $(this).attr('href') + $('#someHiddenInput').val());
}
);