2016-01-29 3 views
0

Мне нужно вставить список строк, динамически созданных из вызова 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> тег «ингредиенты»:

@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> 
    } 

Проблема заключается в том, что я хочу, чтобы вставить значение функции для каждого элемента, когда я загрузить его. Этот код работает нормально, но только при двойном щелчке по каждому элементу.

+0

я не могу видеть пункт, где элемент определен ... например, item [0] + ' Seabizkit

+0

также его ondblclick не onclick fyi – Seabizkit

+0

также его нечетное, что у вас есть событие click на элементе ul – Seabizkit

ответ

2

Если код работает при нажатии на элементе, это звучит, как вы кладете функцию в «OnClick» событие,

Просто попробуйте вызвать вашу функцию в «документе готовы» события после вашей функции определение:

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

. Проголосовали за меня, чтобы разобраться, о чем он был. – Seabizkit

+0

Я не понимаю, как это сделать, если у меня есть структура @foreach (элемент var в модели) – user5297740

+0

Хорошо, я понимаю, что вы имеете в виду. Попробуйте удалить раздел ondblclick и просто добавьте этот код внутри цикла foreach; ' 'не самое приятное решение, но это должен быть самый простой способ заставить его работать с вашей конфигурацией. Добавьте элемент скрипта внутри foreach после div –

0

PS это просто, чтобы показать вам, как вы могли бы использовать модель ....

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

Но у меня есть другой список ингредиентов для каждого значения в модели, а не список ингредиентов для объекта alla. Мне нужно визуализировать информацию о ингредиентах для каждого элемента – user5297740

+0

, пожалуйста, добавьте код для модели ... то есть то, что вы возвращаете с контроллера. – Seabizkit

+0

Я возвращаю тег li из функции JavaScript – user5297740

Смежные вопросы