JQuery将变量从href传递到load()

时间:2009-02-01 04:11:18

标签: jquery

我正在尝试将一个href id传递给JQuery中的load(),我可以从警报中看到返回的id#960,所以我知道id值已经过去我只是不知道如何附加负载url,以及$(“#refreshme _”+ add_id)是重要的部分,我用它来刷新数据库pull分配的页面中的唯一div id,所以它会寻找id =“refreshme_960”。我的简单例子显然不起作用。我想刷新页面的数据库选择部分,显示新的汽车列表。有什么想法吗?

$(document).ready(function() 
{
    $(".add_to_favorites").livequery("click", function(event) 
    {
        var add_id = this.id.replace("add_", ""); //taken from a.href tag
        alert (id);
        $.get(this.href, function(data) 
        {
            $("#refreshme_"+add_id).load("http://www.example.com/car_list/"+add_id);

<a class="add_to_cars" href="/car-add/960/add'}" id="add_960">Add Car</a>

2 个答案:

答案 0 :(得分:1)

您在此行中使用了append()

$('#favorite-listings').append(response);

这就是为什么你会在旧版本之后添加新结果的原因。将该行更改为

$('#favorite-listings').html(response);

答案 1 :(得分:0)

这有点令人困惑,你有'add_to_favorites'作为你的触发器,然后在html元素中添加add_to_cars。

也保持你的替换ID所有jqueryish,我想你会使用

$(this).attr('id', 'add_');

我认为您要做的是当用户点击“add_to_cars”链接时,它会将ajax响应添加到收藏夹中?虽然我错了。

我会质疑为什么使用add_960作为你的id而不仅仅是960(我知道你不应该使用数字作为id,因为我一直这样做而且还没有问题)。

所以你可以做到

$('.add_to_cars')livequery('click', function(event){
     var request=$(this).attr('id');
  $.ajax({
           type: GET,
           url: "http://www.example.com/car_list/"+request,
           success: function(response){
                $('.add_to_favorites').append(response)


      }
});
});

或类似的东西。再次,不完全确定你想要做什么。