В настоящее время я работаю над изменением содержимого выпадающего списка с использованием ajax и jquery и заполнения из базы данных. Используя jquery, я могу очистить и добавить в раскрывающийся список просто отлично. Моя проблема возникает, когда вы пытаетесь попасть в контроллер, чтобы попасть в базу данных для получения информации, необходимой для заполнения второй.Использование Ajax для заполнения раскрывающегося списка каскадов
Как это сделать? Я провел три дня чтения через другие SO вопросы в надежде найти ответ, а вот код JQuery У меня есть до сих пор:
$('#Vehicle_KovId_value').change(function() {
var kovID = $(this).val();
if (kovID != null && kovID != '') {
$('#Vehicle_BodyStyle_value').get(0).options.length = 0;
$('#Vehicle_BodyStyle_value').get(0).options[0] = new Option('Please Select One', '-1');
$.ajax({
type: "POST",
url: "AjaxController/Index",
async: true,
data: "{KovID:" + kovID + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$('#Vehicle_BodyStyle_value').get(0).options.length = 0;
$('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Please Select One", "-1");
alert("Worked!");
$.each(msg.d, function (index, item) {
$('#Vehicle_BodyStyle_value').get(0).options[$('#Vehicle_BodyStyle_value').get(0).options.length] = new Option(item.Display, item.Value);
});
},
error: function() {
$('#Vehicle_BodyStyle_value').get(0).options.length = 0;
alert("Failed to load styles");
}
});
}
});
Я попробовал несколько различных установок URL-адрес в приведенном выше коде , такие как:
url: "@Url.Action('AjaxController', 'Index')",
url: "/AjaxController/Index",
url: "/Controllers/AjaxController/Index",
url: "Controllers/AjaxController/Index"
для справки, хотя мы действительно не сделали ничего с контроллером все же, вот код для контроллера:
Namespace NoticeOfSale
Public Class AjaxController
Inherits System.Web.Mvc.Controller
'
' GET: /Ajax
Function Index() As ActionResult
Return View()
End Function
End Class
End Namespace
Я не уверен, если я просто получил неправильный синтаксис или если я нахожу синтаксис для более поздних версий MVC, поскольку я использую MVC 2.
Я понимаю, что это, возможно, глупый вопрос, для некоторых из вас, но я новичок в программировании, и я надеюсь, чтобы понять это либо через ответ здесь или через выходные исследование в понедельник, поэтому я могу реализовать исправление и скоро этот код работает. Еще раз, любая помощь или предложения очень ценятся! Заранее благодарю за любую помощь! – Kendra
Вы использовали Firebug, чтобы узнать, что происходит в вашем коде jquery? – markpsmith
Я даже не могу заставить Firefox открыть его. Я использую IE8 и Chrome. Но я посмотрю, смогу ли я понять это и попробовать. Отличная идея! – Kendra