我创建了一个下拉菜单供人们编辑位置。并且所有内容都是由for循环生成的,我如何依赖于feedID来更改区域,因为$.post()
函数会改变所有区域但不依赖于它目前的feedID。
<span class="dropdown">
<span class="result-date" type="button" data-toggle="dropdown">Hong Kong
<span class="caret"></span>
</span>
<ul class="dropdown-menu">
<li id="CTHK"><a href="">Hong Kong</a></li>
<li id="CTTW"><a href="">Taiwan</a></li><
<li id="CTMA"><a href="">Macau</a></li><
<li id="CTCN"><a href="">China</a></li><
<li id="CTOT"><a href="">Others</a></li>
</ul>
</span>
在用户决定修改并单击欲望选项后,它将触发$.post()
功能,以便通过speicifc api更改JSON的内容
var initRegionEdit = function() {
$("#CTHK").click(function() {
var api = "/domain/path/somemorepaths?id=" + id;
var postData = {
region : "TW"
};
$.post(api_submit, postData).done(function (data) {
console.log(postData)
});
})
}
然后它将进入JSON文件并更改区域部分
"errorCode": null,
"message": "Success",
"result": {
"total": 2,
"data": [
{
"title": "watever",
"content": " lietlie siktl i's fgkkksfsag...",
"region": "Hong Kong",
"feedId": "dfc68cff0a2afc540407d02f554d9508",
},
{
"title": "Visual F",
"content": "STORE \" I'm ...",
"region": "Hong Kong",
"feedId": "e54de354837e3add77b1030e5456e522",
}
我怎么可能依赖于feedID来改变这个区域?
更新1: 让我们假设用户点击其他人,我希望看到的结果就像用户点击feedId定义的.section一样。
<div class="dfc68cff0a2afc540407d02f554d9508"> //generate by {{feedId}} handle bar js
<span class="dropdown">
<span class="result-date" type="button" data-toggle="dropdown">Hong Kong
<span class="caret"></span>
</span>
<ul class="dropdown-menu">
<li id="CTHK"><a href="">Hong Kong</a></li>
<li id="CTTW"><a href="">Taiwan</a></li><
<li id="CTMA"><a href="">Macau</a></li><
<li id="CTCN"><a href="">China</a></li><
<li id="CTOT"><a href="">Others</a></li>
</ul>
</span>
</div>
并且javascript api应该更改feedId匹配部分而不是每个json的区域
{
"title": "Visual F",
"content": "STORE \" I'm ...",
"region": "Others",
"feedId": "e54de354837e3add77b1030e5456e522",
}
P.S我正在通过node.js开发应用程序
答案 0 :(得分:1)
基于以下程序的解决方案:
阅读文件 - &gt;修改其内容 - &gt;写文件将使用File System Node Module
示例代码:
var fs = require('fs');
// Read file and parse into JSON
var jsonFileObject = JSON.parse(fs.readFileSync('fileName'));
... modify the contents of jsonFileObject as required
// Write the modified contents back to the file
var jsonFileObject = JSON.parse(fs.writeFileSync('fileName', jsonFileObject));
根据特定示例中的region
修改feedId
:
for (var dataIndex in jsonFileObject.result.data) {
if (jsonFileObject.result.data[dataIndex].feedId === feedId) {
jsonFileObject.result.data[dataIndex].region = updatedRegion;
}
}
假设JSON文件的格式与帖子相同。如果没有,修改示例以满足您的需求应该相当简单。