doo*_*urt 9 jquery jquery-ui autocomplete jquery-ui-autocomplete
我有以下内容:
$('#<%=txtCity.ClientID%>').autocomplete({
source: function (request, response) {
var parameters = {
isoalpha2: '<%=Session["BusinessCountry"].ToString()%>',
prefixText: request.term
};
$.ajax({
url: '<%=ResolveUrl("~/AtomicService/Assets.asmx/GetCitiesWithState")%>',
type: 'POST',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(parameters),
success: function (data) {
response($.each(data.d, function (index, value) {
return {
label: value.slice(value.indexOf(',')),
value: parseInt(value.split(',')[0])
}
}));
}
});
},
minLength: 2,
delay: 50,
select: function (event, ui) {
var city = ui.item.label.split(',')[0];
var state = ui.item.label.split(',')[1];
alert(city);
alert(state);
$('#<%=txtCity.ClientID%>').val(city);
$('#<%=txtState.ClientID%>').val(state);
},
});
Run Code Online (Sandbox Code Playgroud)
这是所有快乐的日子,除非我从自动填充列表中选择一个项目,我不希望自动填充填充$('#<%=txtCity.ClientID%>')
元素.我该怎么做?我看到了.insertAfter
,那是我应该看的东西吗?
帮助赞赏.
kar*_*m79 19
尝试false
从select
活动中返回:
...
select: function(event, ui) {
var city = ui.item.label.split(',')[0];
var state = ui.item.label.split(',')[1];
alert(city);
alert(state);
$('#<%=txtCity.ClientID%>').val(city);
$('#<%=txtState.ClientID%>').val(state);
return false;
},
Run Code Online (Sandbox Code Playgroud)
从文档(选择事件):
从菜单中选择项目时触发; ui.item指的是所选项目.select的默认操作是将文本字段的值替换为所选项的值.取消此事件可防止更新值,但不会阻止菜单关闭.