jQuery ajax基于ID加载信息

时间:2012-04-12 14:10:05

标签: jquery asp.net ajax

我想使用.load来根据另一个从数据库中提取项目的页面来更改div的文本。基本上我有Ajax / popup.aspx?pID = 23它带回一个简单的html文件,其中包含h2和

文本

,我将使用.load来交换div中的文本。这是我现在所拥有的:

 $(document).ready(function () {
        if ($(".CompanyType").length > 0) {

            $('.CompanyType').click(function () {
                $(".BuildingSize").empty();
                $(".BuildingSize").load("Ajax/popup.aspx" + "?pID=" + *WHAT TO PUT HERE*);
            });
        }

    });

我的问题是我通常使用像$(this).attr(“value”)这样的东西来声明pID,因为我只是从下拉列表中完成它。如何为图像设置值。 (companyType是图像)

非常感谢

3 个答案:

答案 0 :(得分:0)

如果您有<input type="hidden" id="myIdHidden" val="23" />

你可以:

$(document).ready(function () {
    if ($(".CompanyType").length > 0) {

        $('.CompanyType').click(function () {
            $(".BuildingSize").empty();
            $(".BuildingSize").load("Ajax/popup.aspx" + "?pID=" + $('#myIdHidden').val();
        });
    }

});

答案 1 :(得分:0)

我认为你正在寻找这个

$(".BuildingSize").load("Ajax/popup.aspx" + "?pID=" + $(this).attr("id"));

答案 2 :(得分:0)

使用HTML5 data-*属性,如下所示:

<img src="yourimgsrc" class="companyType" data-id="yourpID"/>

然后,在你的代码中你会做:

$(document).ready(function () {
    $('.CompanyType').click(function () {
        $(".BuildingSize").empty();
        $(".BuildingSize").load("Ajax/popup.aspx" + "?pID=" + $(this).data('id'));
    });
});

请注意,我已经删除了代码中的长度检查,因为它是不必要的 - jQuery为自己处理。在调用empty()之前,我也认为你不需要.load()元素 - 它应该替换,而不是追加加载的内容。