将新对象添加到现有 json
Posted
技术标签:
【中文标题】将新对象添加到现有 json【英文标题】:Add new object into existing json 【发布时间】:2018-02-08 03:06:29 【问题描述】:我有这样的dropdown
。
<input id="tripFrom" type="text"
angular-select2="type:'typeahead',placeholder:'- Select -'"
select-typeahead-params="removeTripId:currentTrip.customerDetails.tripToID, type:'startsFrom'"
select-typeahead-url="getTripFrom('startsFrom')"
ng-model="currentTrip.fromTripID"
select-text="currentTrip.startingAreaName"
/>
对于这个dropdown
,我得到这样的数据:
"success":true,
"items":[
"id":56565,"text":"andra",
"id":56568,"text":"tamilnadu"
]
我的问题是,当我在 dropdown
中添加一些新文本(dropdown
中不存在)时,我需要在 items
中创建新的 object
。
当我blur
dropdown
新添加的数据应显示在该dropdown
中。
这是我添加的:
$('#s2id_autogen8_search').change(function()
var data=[];var items=;
var newAddress=$('#s2id_autogen8_search').val();
var newId=Math.floor(Math.random()*1000000+1);
var newTripAddress=id:newId,text:newAddress
items.id=newId;
items.text=newAddress;
data.push(items)
/*$("#tripFrom").select2(
data : newTripAddress)*/
);
但是当我blur
时我的输入没有显示。我做错了什么?
【问题讨论】:
items
指的是什么?
请检查我的json
您的代码都没有使用items
显示您的元素,例如,我可以看到它没有数据绑定。改变它应该如何改变你的元素?
不是从服务器端获取的 json 名称。我现在不知道它是否正确。这就是为什么要问你们。
伙计们,我已经添加到数组中,但是当我关注它时,它现在没有显示这是唯一的问题。请检查更新的代码。它作为新数组添加,为什么无法添加到现有数组中
【参考方案1】:
尝试使用模糊而不是更改事件。
$('#s2id_autogen8_search').change(function()
// use this instead
$('#s2id_autogen8_search').on('blur', function()
可能就这么简单。
【讨论】:
以上是关于将新对象添加到现有 json的主要内容,如果未能解决你的问题,请参考以下文章
Hyperledger Fabric:使用 JsonPath 将新组织添加到现有通道