使用javascript中的条件从JSON获取数据

使用javascript中的条件从JSON获取数据,javascript,Javascript,我有一个JSON,我想使用javascript中的条件从JSON获取数据 加载页面时,产品HTML表正在加载。在该表tbody中,有一个td具有id 这里我想做的是,如果JSONproduct\u idvalue等于tdsidvalue打印currency\u symbol到td。我在下面提到了我的代码 产品HTML表格: <table id="table" class="table table-striped table-sm"> <thead> <

我有一个JSON,我想使用javascript中的条件从JSON获取数据

加载页面时,产品HTML
正在加载。在该表
tbody
中,有一个
td
具有
id

这里我想做的是,如果JSON
product\u id
value等于
td
s
id
value打印
currency\u symbol
td
。我在下面提到了我的代码

产品HTML表格:

 <table id="table" class="table table-striped table-sm">
  <thead>
    <tr>
      <th>ID</th>
      <th>Currencies</th>
    </tr>
  </thead>
  <tbody>
    {{#each products}}
    <script>  
    $(document).ready(function(){
      insert_items_onload({{id}});
    });
  </script>
    <tr>
      <td>{{this.id}}</td>
      <td>
      <div>
        <table class="cur_symbol">
          <tbody>
          </tbody>
        </table>
      </div>
    </td>
    </tr>
    {{/each}}
  </tbody>
</table>

身份证件
货币
{{#每个产品}
$(文档).ready(函数(){
插入\u项\u onload({{id}});
});
{{this.id}}
{{/每个}}
最终输出应为:

<table id="table">
  <thead>
    <tr>
      <th>ID</th>
      <th>Currencies</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td id='1'>
        <div>
          <table class="cur_symbol">
            <tbody>
               <tr><td>€</td></tr>
               <tr><td>£</td></tr>
            </tbody>
          </table>
        </div>
      </td>
    </tr>
    <tr>
      <td>2</td>
      <td id='2'>
        <div>
          <table class="cur_symbol">
            <tbody>
            </tbody>
          </table>
        </div>
      </td>
    </tr>
    <tr>
      <td>3</td>
      <td id='3'>
        <div>
          <table class="cur_symbol">
            <tbody>
               <tr><td>$</td></tr>
            </tbody>
          </table>
        </div>
      </td>
    </tr>
    <tr>
      <td>4</td>
      <td id='4'>
        <div>
          <table class="cur_symbol">
            <tbody>
               <tr><td>€</td></tr>
            </tbody>
          </table>
        </div>
      </td>
    </tr>
  </tbody>
</table>

身份证件
货币
1.
€
£
2.
3.
$
4.
€

请帮我解决这个问题。谢谢。

将您的代码变成了一个工作示例

主要是跟随你的代码。我想知道你为什么不用把手来做这件事,因为你已经用过了。您的产品ID重叠,因此此逻辑似乎有缺陷。我只是添加了一些代码来搜索id,找到最接近的tr,并将HTML替换为那里的字符串

comname={};
comname.newCurrency=[{
“id”:1,
“产品标识”:1,
“货币id”:2,
“费率”:“1.01”,
“货币名称”:“欧元”,
“货币符号”:“€”
}, {
“id”:2,
“产品标识”:1,
“货币id”:3,
“费率”:“1.02”,
“货币名称”:“英镑”,
“货币符号”:“英镑”
}, {
“id”:3,
“产品标识”:3,
“货币id”:1,
“费率”:“1.03”,
“货币名称”:“澳元”,
“货币符号”:“$”
}, {
“id”:4,
“产品标识”:4,
“货币id”:2,
“费率”:“1.04”,
“货币名称”:“欧元”,
“货币符号”:“€”
}];
$(文档).ready(函数(){
插入_项_onload();
});
函数insert\u items\u onload(){
$('.cur_symbol tr').remove();
comname.newCurrency.forEach(
item=>insert_items_symbol(item.product_id,item.currency_symbol)
);
}
函数插入项目符号(id、货币符号){
/*变量符号\u表=`
${currency_symbol}
`;*/
$(`${id}`)。前缀(`${currency\u symbol}`);
}

身份证件
货币
//不要使用这一部分,只是一个懒散的黑客来生成虚拟测试html
[1,3,4,2,5].forEach(id=>document.write(`
${id}
克利尔梅
`));

您的
脚本
标记未正确关闭,变量
货币_名称
汇率
未定义,。。。您可能希望将整个
对象传递到
插入项目符号
,并从中获取这些属性。与您试图完成的任务相比,这些似乎是相当基本的错误。你调试过吗?不要在你的问题中使用
json
标记(和单词)。没有明确提到JSON,只有JavaScript对象文本。JSON应该为数据交换格式保留,而不是为JavaScript代码中的文字保留。阅读
json
标记用法说明,尤其是大写部分。@trincot我对JS和编程完全陌生。所以我尝试了这个任务,搜索了2天。我不知道如何进一步实现这一点。这里我想做
如果
JSON
product\u id
等于
td
id
。该
td
应在表格中显示
currency\u symbol
。这就是我在那里试过的,看起来很普通。我所看到的大部分帖子都充斥着拼写错误和/或代码功能中不可或缺的缺失代码。你们可能认为他们在测试我们或其他什么。那个么你们在那个里使用什么模板语言呢?id属性必须是唯一的。这些值重叠。您要么需要使用不同的属性名称,要么重新考虑数据结构。另外,附加的表在结构上不同是有意的吗?我更正了它,更改了
$(
#${id}
).resest('tr').html(符号表)
$(
{id}
).closest('td').html(符号表)