【问题标题】:Add new object into existing json将新对象添加到现有 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 名称。我现在不知道它是否正确。这就是为什么要问你们。
  • 伙计们,我已经添加到数组中,但是当我关注它时,它现在没有显示这是唯一的问题。请检查更新的代码。它作为新数组添加,为什么无法添加到现有数组中

标签: javascript jquery angularjs json


【解决方案1】:

尝试使用模糊而不是更改事件。

$('#s2id_autogen8_search').change(function(){

// use this instead 

$('#s2id_autogen8_search').on('blur', function(){

可能就这么简单。

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多