jQuery的用户界面的选项卡。传递一个查询字符串

时间:2009-10-08 14:30:03

标签: jquery user-interface query-string

如何传递查询字符串(?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>

非常感谢您提供给我的任何帮助。

提前致谢

4 个答案:

答案 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());
     }
);