动态加载AJAX函数值

时间:2016-01-29 11:58:39

标签: javascript html ajax

我需要插入一个从AJAX调用动态创建的字符串列表。这是功能:

function finIngredients(boxId, prodid) {
        $.ajax({
            type: "GET",
            url: "/Products/GetBoxIngredientsNew?idbox=" + boxId,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            error: function () {
                alert("Error");
            },
            success: function (data) {
                if (data != "error") {
                            var element =
                            $('<li> ' + item[0] + '<span class="new-text-Intro"> (' + item[1] + ' kg)</span> OMAGGIO</li>');
                            $("#ingredients").append(element);
                        }
                    });
                }
            }
        });
    }

此功能正常工作并返回正确的值。我必须将此函数的结果插入<ul>标记&#34;成分&#34;:

@foreach (var item in Model)
   {
      <h2 class="SottotitoloNostriBox">@item.ProductCartDesc</h2>
      <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
         <ul class="new-text-Intro2" style="min-height: 154px;" id="ingredients"  ondblclick="trovaIngredients(@item.ProductId,@item.ProductId);"></ul>
      </div>
   }

问题是我想在加载每个元素时插入函数的值。这段代码工作正常但只有当我双击每个元素时才能正常工作。

2 个答案:

答案 0 :(得分:2)

如果单击元素时代码有效,则听起来您已将功能置于&#34; onclick&#34;事件,

只需尝试在&#34;文档中调用您的函数&#34;函数定义后的事件:

$(document).ready(function(){
    var a = ...
    var b = ...
    finIngredients(a,b);
});

答案 1 :(得分:0)

PS这只是为了向您展示如何使用Model ....

<ul class="new-text-Intro2" id="ingredients">
   @foreach (var item in Model)
   {
      <li>@item.ProductCartDesc</li>
   }
</ul>