javascript - 在 json get 中嵌套 ajax post

标签 javascript jquery json ajax

function test() {
    $.getJSON("/Home/GetAp", function (result) {
        $.each(result, function () {
            if (this.is_disabled == "False") {
                var a = $("#MainDiv")
                            .append('<div id="imagewrap"><img id="infobutton" src="/Content/information%20icon.png" /></div>')
                            .val(this.id);
            } else if (this.is_disabled == "True") {
                var a = $("#MainDiv")
                            .append('<div id="imagewrap"><img id="infobutton2" src="/Content/information%20icon.png" /></div>')
                            .val(this.id);
            } else {
                return null;
            }
        })
    })
}

我如何嵌套和ajax函数能够发布a.val(),以便当用户单击任何$("#infobutton")时,他们将能够使用该按钮的val,这将是特定于该按钮的 id

$("#infobutton").click(function () {
    $.ajax({
        type: "POST",
        contentType: 'application/json; charset=utf-8',
        url: "/Home/setID",
        data: JSON.stringify({ id: this.id }),
        success: function (result) {

        }
    });
});

最佳答案

不要让您的逻辑依赖于 DOM 元素的重复 id,而是使用 class

使用事件委托(delegate)为事件注册时存在的元素以及稍后将创建的元素注册事件处理程序。

.append('<div id="imagewrap"><img class="infobutton" src="/Content/information%20icon.png" /></div>')

$(document).on("click",".infobutton",function () {
  $.ajax({
    ...
  });
});

关于javascript - 在 json get 中嵌套 ajax post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42007085/

相关文章:

javascript - 点击星号后在表单中设置星号值

javascript - 每次按键时更改单词 javascript/jquery

javascript - 使用负 scrollTop/scrollLeft 值进行动画处理

javascript - jCarousel 显示选择了类的元素

json - 嵌套 json 对象的 Elasticsearch 映射

javascript - 将水平滚动条位置设置到最右边

jquery load() 的 Javascript 替代品

javascript - JSON:循环发票项目:如果发票号不存在则添加,如果存在则更新值,包括示例

PHP Javascript 变量帮助

javascript - 如何将 JSON 对象作为新级别添加到另一个 JSON 对象?