Wenn ich richtig verstehe Sie bootstrap-combobox
(Link) verwenden.
fand ich Setter Code:
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();
}
Update:
Wenn der Benutzer auf Artikel von Dropdownlist klickt, wird change
Ereignis ausgelöst, die nicht korrekt ist. I.e. Die Eingabe wird bereinigt, danach wird sie mit dem richtigen Wert gefüllt.
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
können Sie bieten ein funktionierendes Beispiel? – Dekel
Passt das https://jsfiddle.net/neceegbv/5/ zu Ihrer Frage? –