如何在jquery中动态调用url?

时间:2012-05-23 06:04:57

标签: jquery ajax

我有这样的功能:

function contentDisp()
{
$.ajax({
url : "../Patient/brest/ros_brest.php",
success : function (data) {
$("#dynamicContent").html(data);
}
});
}

我有这样的菜单:

<div  id="leftmenu">
<ul id="accordion">
    <li><div>BREAST</div>
        <ul>
            <li ><a href="#" onClick="contentDisp();">BREAST</a></li>
                    </ul>

当最终用户点击菜单项时,相关页面将显示在分配给它的div中。一切都工作正常,但现在如果我想对所有菜单项做同样的事情,那么我如何做到这一点:网址:“../Patient/brest/ros_brest.php”,而不是静态网址我如何动态传递它。

提前谢谢你 ramsai

3 个答案:

答案 0 :(得分:3)

类似的东西:

<script type="application/javascript">
$(document).ready(function() {
   $("a.dyn-load").on("click", function() {
      $("#" + $(this).attr("data-target")).load($(this).attr("href"));
      return false;
   });
});
</script>

<a href="/some/url" class="dyn-load" data-target="dyn-content">bleh</a>
<a href="/some/url2" class="dyn-load" data-target="dyn-content">bleh2</a>
<div id="dyn-content"></div>
<a href="/some/url3" class="dyn-load" data-target="dyn-content2">bleh3</a>
<a href="/some/url4" class="dyn-load" data-target="dyn-content2">bleh4</a>
<div id="dyn-content2"></div>

Demo

答案 1 :(得分:2)

    function contentDisp(url)
{
$.ajax({
url : url,
success : function (data) {
$("#dynamicContent").html(data);
}
});
}

<li ><a href="#" onClick="contentDisp("../Patient/brest/ros_brest.php");">BREAST</a></li>

但是,我建议你删除onClick处理程序并将url作为href 这种方式与js off用户仍然得到一些东西(阅读关于渐进增强以了解更多),如此

$("#accordion>a").click(function()
{
$.ajax({
url : $(this).attr("href"),
success : function (data) {
$("#dynamicContent").html(data);
}
});
 return false;
});

演示:http://jsbin.com/ixifah/4

答案 2 :(得分:1)

你可以这样做:

<a href="some_page_url" onClick="contentDisp(this);">BREAST</a>

function contentDisp(obj) {
  var someurl = $(obj).attr("href");
  $.ajax({
        url : someurl,
        success : function (data) {
            $("#dynamicContent").html(data);
        }
  });
}