【发布时间】:2011-08-07 07:50:40
【问题描述】:
我有一个带有通过局部视图打开 jquery 对话框的按钮的视图。在对话框中,我有一个 jquery 自动完成调用,可以很好地列出我的值。问题是一旦选择了一个值并提交了表单,表单字段中就没有值了。
<fieldset>
@Html.LabelFor(m => m.Airline)
@Html.TextBoxFor(m => m.Airline)
@Html.ValidationMessageFor(m => m.Airline)
</fieldset>
$(function () {
$("#Airline").autocomplete({
source: function (request, response) {
$.ajax({
url: '/app/FlightLeg/AirlineSearch', type: "GET", dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.Name + ' (' + item.Code + ')', value: item.Name, id: item.Id };
}))
}
})
},
minLength: 2,
select: function (event, ui) {
console.debug(ui.item.id); **//has the expected value**
$("#Airline").val(ui.item.id)); /**/ never gets set**
}
});
使用萤火虫,我可以看到,一旦选择了一个值,文本框也没有任何值。我尝试在自动完成调用中使用“选择”选项通过 .val(ui.item.id) 设置文本框中的值,但它不会设置文本框的值。如果我在“选择”选项中添加警报,它将显示 ui.item.id 的值。
知道为什么我不能根据我的自动完成值设置文本框值吗?
【问题讨论】:
标签: jquery asp.net-mvc-3 autocomplete