在我的jquery自动填充select
函数中,我需要使用event.preventDefault()
方法来阻止默认ui.item.value
填充自动填充所连接的输入文本框。这在Chrome中非常有用,但是在IE 8中(我们的大多数用户正在使用),.preventDefault()
行会引发以下错误:
Unexpected call to method or property access
这是jQuery的好措施。有谁知道IE 8中这种方法的解决方法?
var tempResults = [];
$(function () {
$('#DRMCompanyName').autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("compSearchByName", "AgentTransmission")',
type: 'GET',
dataType: 'json',
data: request,
success: function (data) {
tempResults = data;
response($.map(data, function (value, key) {
return {
label: value + " " + key,
value: key
};
}));
},
});
},
minLength: 2,
select: function (event, ui) {
event.preventDefault(); // <-Causing a problem in IE 8...
$('#DRMCompanyName').val(tempResults[ui.item.value]);
$('#DRMCompanyName').text(tempResults[ui.item.value]);
if ($('#DRMCompanyId').text() == '') {
$('#DRMCompanyId').val(ui.item.value);
$('#DRMCompanyId').text(ui.item.value);
}
}
});
});
答案 0 :(得分:1)
您可以使用return false
,但正如我在评论中所说:return false = event.preventDefault() + event.stopPropagation()
但在您的情况下,应该符合您的需求。