私はブートストラップコンボボックスを持っていますが、オートコンプリートの変更で値を選択したいのですが、問題は、コンボ内でダブルクリックした結果をフィルタリングしたときだけです。オートコンプリートとブートストラップコンボボックス
$('#MyComboId').on('change', function() {
var myselection = $(this).find("option:selected").val();
});
});
私はブートストラップコンボボックスを持っていますが、オートコンプリートの変更で値を選択したいのですが、問題は、コンボ内でダブルクリックした結果をフィルタリングしたときだけです。オートコンプリートとブートストラップコンボボックス
$('#MyComboId').on('change', function() {
var myselection = $(this).find("option:selected").val();
});
});
私が正しくあなたがbootstrap-combobox
(Link)を使用して理解していれば。
私はセッターのコードが見つかりました:
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');
})
実際にあなたが提供するこのjsfiddleリンクは、実際に私が経験している問題の完全な例です。あなたはコンボのNewYorkから選択するとうまくいきますが、Newと入力してメニューからNew Yorkを選択しようとすると動作しません。 – user1765862
@ user1765862私の更新された回答を確認してください –
あなたは作業例を提供することができますか? – Dekel
これはhttps://jsfiddle.net/neceegbv/5/に合っていますか? –