我是初学者,所以我对我的问题有疑问。
我使用了jquery 1.11.1。在IE8上,它在页面加载时发生,第2行($(_label) is undefined
)上的错误
但我检查$(_label).toString()
是有效的。
这是我的代码:
function AutocompleteDropDownMultiValue(_label, _hidden, _mySource) {
$(_label).autocomplete({
source: _mySource,
maxHeight: 500,
width: 300,
select: function (event, ui) {
var terms = split($(this).text());
var index = SearchItem(terms, ui.item.value);
if (index == -1) {
if (terms[0] == "Click to select")
terms.pop();
terms.push(ui.item.value);
$(this).html("<b>" + terms.join(", ") + "</b>");
$(_hidden).val(terms.join("|"));
} else {
terms.splice(index, 1);
if (terms.length == 0) {
terms.push("Click to select");
$(this).html(terms);
$(_hidden).val("");
} else {
$(this).html("<b>" + terms.join(",") + "</b>");
$(_hidden).val(terms.join("|"));
}
}
return false;
},
open: function () {
$('.ui-autocomplete').css('width', '280px');
$('.ui-autocomplete').css('height', 'auto');
$('.ui-autocomplete').css('max-height', '800px');
$('.ui-autocomplete').css('overflow-y', 'auto');
}
})
.data("ui-autocomplete")._renderItem = function (ul, item) {
var terms = split($(_label).text());
var index = SearchItem(terms, item.value);
if (index == -1) {
return $("<li>")
.append("<a>" + item.label + "</a>")
.appendTo(ul);
} else {
return $("<li>")
.data("ui-autocomplete-item", item)
.append("<a style='color:#ff5500;'>" + item.label + "</a>")
.appendTo(ul);
}
};
}
function ShowDropDownMultiValue(_label) {
$(_label).autocomplete("option", "minLength", 0);
if ($(_label).autocomplete("widget").is(':visible')) {
$(_label).autocomplete('close');
return;
} else {
$(_label).autocomplete("search", "");
$(_label).autocomplete("widget").show();
return;
}
}
非常感谢。