2017-08-30 107 views
3

我有dropdown这样。添加新对象到现有的json

<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

当我blurdropdown新增加的数据应显示在该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它在我的输入没有显示。我做错了什么?

+0

'items'是指什么? – Satpal

+0

请检查我的json – krish

+0

你的代码没有使用'items'来显示你的元素,例如没有我可以看到的数据绑定。如何改变它应该改变你的元素? –

回答

1

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

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

// use this instead 

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

它可能就这么简单。