我有一个问题,我正在尝试根据输入的值过滤选择的选项,但是当发生过滤时,选择变为空。
另一个问题,我的jQuery版本是1.4.4 ......
这是我的代码:
jQuery.fn.filterByText = function(textbox, selectSingleMatch) {
return this.each(function() {
var select = this;
var options = [];
$(select).find('option').each(function() {
options.push({value: $(this).val(), text: $(this).text()});
});
$(select).data('options', options);
$(textbox).bind('change keyup', function() {
var options = $(select).empty().scrollTop(0).data('options');
var search = $.trim($(this).val());
var regex = new RegExp(search,'gi');
$.each(options, function(i) {
var option = options[i];
if(option.text.match(regex) !== null) {
$(select).append(
$('<option>').text(option.text).val(option.value)
);
}
});
if (selectSingleMatch === true &&
$(select).children().length === 1) {
$(select).children().get(0).selected = true;
}
});
});
};
$(function() {
$('#relProducts').filterByText($('#buscarProdutosSelect'), false);
});
修改
一个奇怪的事情发生了,在代码工作的小提琴,但是当代码在应用程序上它不起作用...