2014-09-12 73 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