将新对象添加到现有json中

时间:2017-08-30 11:54:57

标签: javascript jquery angularjs json

我有这样的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中没有),我需要在object内创建新的items

当我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时我的输入没有显示。我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

// use this instead 

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

可能就是这么简单。