У меня есть два текстовых поля jQuery autocomplete на веб-странице mvc. Тот, который возвращает список вопросов и другой, который возвращает список тегов.Два jQuery 'идентичных' автозаполнения текстовых полей, но только один работает
Текстовое поле вопросов работает отлично, но текстовое поле тегов отправляет пустую строку в свой контроллер.
Код JavaScript JQuery является точным совпадением кроме Url.Action, то не работает один показан ниже:
<script type="text/javascript">
$(document).ready(function() {
$('#searchTag').autocomplete('<%= Url.Action("AutoComplete", "Tags") %>', {
dataType: 'json',
parse: function(data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].Name, result: data[i].Name };
}
return rows;
},
formatItem: function(row) {
return row.Name;
},
delay: 40,
autofill: true,
selectFirst: false,
highlight: false,
multiple: true,
multipleSeparator: ";"
});
});
</script>
тегах контроллер называется и возвращает данные JSON правильно, как я жестко закодированы 'b' для метода LookUpTag, но параметр строки t для автозаполнения всегда равен нулю.
public ActionResult AutoComplete(string t)
{
IQueryable<Tag> searchResults = tagRepository.LookUpTag("b");
var data = (from searchResult in searchResults
select new { Id = searchResult.ID, Name = searchResult.Name }).ToList();
return Json(data);
}
Есть ли логическая причина для этого?
Две вещи, которые я хотел бы сделать: 1) использовать Firebug или Fiddler, чтобы проверить, что URL запрашивается именно то, что я ожидал , 2) Убедитесь, что ваш маршрут MVC проходит через параметр правильно ... – Alconja