2014-09-12 99 views
0

我有這個ajax函數接收json var。ajax刷新div與json循環

$.ajax({ 
       type: "POST", 
       url: "@Url.Action("FilterCheck","Operatore")", 
       datatype: "json", 
       traditional: true, 
       data: { 'mycheck': mycheck, 'idprot': idprot, 'id': '@Model.id' }, 
       success: function (response) { 
        $('#external-events').empty(); // clear existing items 
        $.each(response, function (index, item) { 
         var div = $('<div class="col-lg-3"><div class="external-event"></div></div>'); // Create new element 
         div.text(item.id + ' ' + item.nome + ' ' + item.cognome); // Set inner text 
         $('#external-events').append(div); // add the new element 

       }, 

我會刷新這個HTML DIV:

<div id='external-events'> 

       @foreach (HAnnoZero.Repositories.utente item in ViewBag.Utenti) 
     { 
      <div class='col-lg-3'><div class='external-event'>@item.id- @item.cognome @item.nome</div></div>  
     } </div> 

隨着jQuery函數 「每個」 我做了更多的元素JSON循環。 以這種方式不起作用,只寫第一個div class ='col-lg-3'而不是第二個。我該怎麼辦? 謝謝

+0

你能具體談談你想在這裏完成什麼? – Teo 2014-09-12 10:36:23

+0

我想用json var – ADC 2014-09-12 10:40:23

回答

1

你的問題是在這裏:

div.text(item.id + ' ' + item.nome + ' ' + item.cognome); // Set inner text 

你COL-LG-3類裏面另一個DIV外部事件聲明的股利。當你使用div.text()時,jquery將替換col-lg-3的內容,而不是外部事件。

你應該做的:

div.find('.external-event').text(item.id + item.nome + item.cognome); 

編輯 或者直接:

var div = $('<div class="col-lg-3"><div class="external-event">' + item.id + ' ' + item.nome + ' ' + item.cognome + '</div></div>'); // Create new element 
$('#external-events').append(div); // add the new element 
+0

重寫所有的div「外部事件」我不能幫助你,因爲在你的問題中沒有關於拖放的信息:) – hereismass 2014-09-12 11:24:13

+0

非常感謝你現在的工作! – ADC 2014-09-12 11:26:07