Начался новый вопрос по мере перемещения проблемы. Вы можете прочитать, как мы пришли к этому в этом посте. stackoverflow.com / questions / 60379943
Теперь у меня есть рабочий код, но по какой-то причине форматирование сценария мешает заполнению выпадающего списка выбора. Я могу получить список для заполнения в представлении, удалив этот код со страницы.
$(function () {
$('select').searchableOptionList({
maxHeight: '250px'
});
});
Все, что нужно сделать, - это сделать выпадающий список отформатированным в стиле, а список выбора - переключателями. По какой-то причине это делает мой раскрывающийся список незаполненным. Я думаю, что это может быть проблема «Что загружается первым». Этот код находится вверху страницы бритвы, где мой Javascript внизу. Я действительно не хочу потерять стиль выпадающего меню. Это часть того, что называется «NiceDropdown».
Надеюсь, кто-то знает об этом и поможет решить проблему.
В последнем посте, который связан выше, есть весь код. Я не хотел повторять код в другом вопросе.
Спасибо за вашу помощь!
ОБНОВЛЕНИЕ: Читая этот плагин. Чтобы использовать его, вы должны отформатировать вызов с помощью «searchableOptionList». Нужно найти способ включить onchange и использовать вышеуказанную опцию ..
ОБНОВЛЕНИЕ: Вот код, который я пробовал от оригинала до попытки конвертировать.
Оригинал:
$(function () {
$('#ddlCountry').change(function () {
//debugger;
$.ajax({
type: "post",
url: "/States/Add",
data: { id: $('#ddlCountry').val() },
datatype: "json",
traditional: true,
success: function (data) {
$.each(data, function (index, value) {
$('#ddlState').append('<option value="' + value.StateId + '">' + value.StateName + '</option>');
});
}
});
});
То, что я добавил, похоже, не работает:
$(function () {
$('#ddlCountry').change(function () {
//debugger;
$.ajax({
type: "post",
url: "/States/Add",
data: { id: $('#ddlCountry').val() },
datatype: "json",
traditional: true,
success: function (data) {
$.each(data, function (index, value) {
$('#ddlState').searchableOptionList(data);
});
}
});
});
Другие параметры:
success: function (data) {
$.each(data, function (index, value) {
$('#ddlState').searchableOptionList('<option value="' + value.StateId + '">' + value.StateName + '</option>');
});
}
success: function (data) {
$(function (index, value) {
$('#ddlState').searchableOptionList(data, (index, value));
});
}
success: function (data) {
$(function () {
$('#ddlState').searchableOptionList({
data: (data)
});
});
}
ОБНОВЛЕНИЕ: я близко, это почти работает. Однако я теряю форматирование списков выбора и получаю форматирование в штатах, когда выбрана страна.
$('#ddlCountry').change(function () {
//debugger;
$.ajax({
type: "post",
url: "/States/Add",
data: { id: $('#ddlCountry').val() },
datatype: "json",
traditional: true,
success: function (data) {
$.each(data, function (index, value) {
$('#ddlState').append('<option value="' + value.StateId + '">' + value.StateName + '</option>');
});
$(function () {
$('#ddlState').searchableOptionList();
});
}
});
});
ОБНОВЛЕНИЕ: проблема в том, что в плагине Searchable-Option очень мало документации , Текущий код не будет работать или, по крайней мере, я не могу заставить его работать. Я должен использовать .change и плагин требует .searchableOptionList. Если код можно перенастроить так, чтобы .searchableOptionList использовал часть success: function в качестве данных, которые он будет работать. Но это должно быть за пределами функции .change, чтобы стиль оставался прежним. Последняя часть моего кода, которую я опубликовал, меняет стиль при изменении. Мне нужно, чтобы стиль был там все время.
Спасибо, кто бы ни открыл мой вопрос!