使用jquery ajax检索变量

时间:2010-04-26 19:43:20

标签: jquery

 <div class="lead_detail_box_routing">


<div class="lead_detail_box_left">location 1</div>
<div class="lead_detail_box_right">Route</div>
<div class="lead_detail_box_left">location 2</div>
<div class="lead_detail_box_right">Route</div>
<div class="lead_detail_box_left">location 3</div>
<div class="lead_detail_box_right">Route</div>
<div class="lead_detail_box_left">location 4</div>
<div class="lead_detail_box_right">Route</div>

<div id="results" style="text-align:center;"></div>  

</div>     <!-- end lead_detail and routing-->  

e.g。当用户点击“路由”时,我希望我的jquery-manual-routing.php获得“3”..

到目前为止,我有:

   <script type="text/javascript">
    $(document).ready(function() {
        $("a#route").click(function() {
            $("#results").load( "jquery-manual-routing.php", { route_to: ???? } );
            return false;
        });
    });    
    </script> 

所以在我的php脚本中,当用户点击route旁边的location 3时,我希望能够抓住$_GET['route_to'] =3;

另请注意,我的表已经分配了类,因为我使用css来设置它的样式

答案将是纯php echo

4 个答案:

答案 0 :(得分:1)

使用您需要的实际链接填充锚标记的网址,然后使用您的jquery函数覆盖默认点击操作

<a class="route" href="jquery-manual-routing.php?route_to=1">route to destination 1</a><br/>
<a class="route" href="jquery-manual-routing.php?route_to=2">route to destination 2</a><br/>
<a class="route" href="jquery-manual-routing.php?route_to=3">route to destination 3</a><br/>
<a class="route" href="jquery-manual-routing.php?route_to=4">route to destination 4</a> etc...

<script type="text/javascript">
    $("a.route").live('click', function() { // live is better
        $("#results").load( $(this).attr('href') );
        return false;
    });
</script> 

答案 1 :(得分:0)

$(document).ready(function() {
    $("a#route").click(function(event) {
        link = $(event.target);

        $("#results").load( "jquery-manual-routing.php", { route_to: link.text() } );

        return false;
    });
});

这会调用jquery-manual-routing.php?route_to=location 3

答案 2 :(得分:0)

如果按照您提供的HTML进行操作,这是一个可能的解决方案:

<script type="text/javascript">
    $(document).ready(function() {
        $("div.lead_detail_box_right").click(function() {
            $("#results").load( "jquery-manual-routing.php", { route_to: $(this).prev().text().replace("location ", "") } );
        });
    });    
</script> 

抓住previous元素并获取文本中的数字。我使用replace,您也可以使用split

答案 3 :(得分:0)

从文本中获取数字:(是单击的div)

$(this).text().replace(/.*?(\d+)$/, '$1')

从div的位置获取它:

$('.lead_detail_box_left').index(this) + 1