2016-12-06 7 views
0

私はブートストラップコンボボックスを持っていますが、オートコンプリートの変更で値を選択したいのですが、問題は、コンボ内でダブルクリックした結果をフィルタリングしたときだけです。オートコンプリートとブートストラップコンボボックス

$('#MyComboId').on('change', function() { 
    var myselection = $(this).find("option:selected").val();   
    });  
}); 
+0

あなたは作業例を提供することができますか? – Dekel

+0

これはhttps://jsfiddle.net/neceegbv/5/に合っていますか? –

答えて

0

私が正しくあなたがbootstrap-comboboxLink)を使用して理解していれば。

私はセッターのコードが見つかりました:

select: function() { 
    var val = this.$menu.find('.active').attr('data-value'); 
    this.$element.val(this.updater(val)).trigger('change'); 
    this.$target.val(this.map[val]).trigger('change'); 
    this.$source.val(this.map[val]).trigger('change'); 
    this.$container.addClass('combobox-selected'); 
    this.selected = true; 
    return this.hide(); 
} 

更新:ユーザーがドロップダウンリストから項目をクリックすると

changeイベントが間違っていた、起動します。私。入力がクリーンアップされた後、正しい値が入力されます。

var el = $('.combobox').combobox(); 

el.on('change', function(e){ 
if($(this).data('combobox').$element.val() == ''){ 
    console.log('Its triggered incorrectly'); 
    return false; 
} 

var dic = $(this).data('combobox').map, 
    val = $(this).val(), 
    clean = true; 

for(var i in dic){ 
    if(!dic.hasOwnProperty(i)) continue; 
    if(dic[i] == val){ 
    console.log(dic[i], i); // dic[i] = value, i = label 
    clean = false; 
    break; 
    } 
} 

if(clean) 
    console.log('Input was cleared'); 
}) 

Demo

+0

実際にあなたが提供するこのjsfiddleリンクは、実際に私が経験している問題の完全な例です。あなたはコンボのNewYorkから選択するとうまくいきますが、Newと入力してメニューからNew Yorkを選択しようとすると動作しません。 – user1765862

+0

@ user1765862私の更新された回答を確認してください –

関連する問題