【问题标题】:Update DIV Classes with AJAX Json Array Result使用 AJAX Json 数组结果更新 DIV 类
【发布时间】:2021-02-18 07:00:42
【问题描述】:

我有一个由 DOM 中的 Div 组成的 Ajax Json 数组结果。我想用新的 Ajax Json 结果更新现有的 DOM 数据。 DOM 数据和 Ajax 数据都有一个可用于匹配的 id 号。我曾经在 div 中包含表单,因此很容易更新,因为我所要做的就是使用 $(this) 或 $(this)closest。现在我已将 Ajax Get 表单移到 Div 之外 $(this) 或 $(this)closest 不起作用。

我还需要一种方法来关联数据,然后根据 id 或您可以推荐的任何内容应用数据。谢谢你。以下是我到目前为止所到之处。下面的 Ajax 结果新数据显示 id:2 姓氏为 Heals 的人。在下面的 DOM div 中是 Bond。简而言之,用其更新数据更新每条记录。

<form  class="updateform"  action="" method="">    
<input type="hidden" class ="customers"  name="" value="<?php echo $mycustomers; ?>">
<a class="update-button"></a>
</form> 
var Ajaxresultdata = [
 {id:1,name:"Mike",surname:"Rynes"},
 {id:2,name:"James",surname:"Heals"},
 {id:3,name:"Helen",surname:"Wright"}
 ];

Div 行是 json 数组结果

<div class="mycustomers">
<div id="1">
    <div class="name">Mike </div>
    <div class="surname">Rynes</div>
</div>
<div id="2">
    <div class="name">James</div>
    <div class="surname">Bond</div>
</div>
<div id="3">
    <div class="name">Helen</div>
    <div class="surname">Wright</div> 
</div>
<script>
    var Ajaxresultdata = [
       { id: 1, name: "Mike", surname: "Rynes" },
       { id: 2, name: "James", surname: "Heals" },
       { id: 3, name: "Helen", surname: "Wright" }
   ];

   $.each(ajaxresultdata, function(i, person ) {
    
       if (document.getElementById(String(i)) {
           $("#" + String(i)).find('.surname').html(person.surname);
       }
    });

</script>

【问题讨论】:

  • ID 不能是数字。因此,不要使用 id,而是使用 data-id="4"document.querySelector("[data-id='4']"); 等数据属性
  • 感谢 imvain2,请问:所以我不需要 if 语句等。我只是单行文档选择器?或者你刚刚就问题的一部分给了我建议。 tks

标签: javascript jquery ajax


【解决方案1】:

你在找这个吗?

   $.each(Ajaxresultdata, function( i, person ) {
     $("#"+person.id).html(person.surname);
   });

check on codepen

【讨论】:

  • 太棒了!!今晚我会睡一觉:-)。 10/10 花时间在 codepen 中显示它,它真的对像我这样的新手有帮助。谢谢 Neiroc!
  • 我不得不修改它以适应我的设置,我必须添加 .find 和类名,如下所示。 $("#"+person.personid).find('.surname').html(person.surname)。很棒的解决方案我修改了它以删除和定位其他东西。谢谢 Neiroc
猜你喜欢
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 2015-02-26
相关资源
最近更新 更多