Через URL ко мне приходят параметры со значениями, которые я записываю в массив paramsURL[].
Тогда мне нужно установить пришедшие данные как value для select.
$('select[name="brand"]').val(paramsURL['brand']); // этот select сгенерирован динамически. Поэтому jQ не может записать для него значение
Вопрос: Как правильно задать значение для динамически сгенерированного элемента?
Весь код:
// Loading values to filter form
$('#filterName').on('click', function () { // при клике на блок
if (paramsURL['mtype'] > 0) { // проверяем есть ли значение для этого типа
$('select[name="mtype"]').val(paramsURL['mtype']).trigger('change'); // задаем его из массива и устанавливаем триггер change. Здесь работает на Отлично! Потому, что это статически создаваемый select
if (paramsURL['brand'] > 0) { // тоже самое с brand
setTimeout(function() { // сделал костыль через setTimeout
$('select[name="brand"]').val(paramsURL['brand']).trigger('change');
}, 5); // который сработает через 5мс
}
}
});
Вот еще работа триггера trigger('change');
$('select[name="mtype"]').change(function () {
$.ajax({
url: '/api/catalog/filter/brands?idtype=' +$('select[name="mtype"]').val(),
method: 'GET',
dataType: 'json',
contentType: "application/json;charset=UTF-8",
success: function (data) {
var brand = $('select[name="brand"]');
brand.empty();
brand.append('<option selected disabled hidden>Марка</option>');
brand.removeClass('mark');
$.each(data, function(key, val){
brand.append('<option value="' +key+ '">' +val+ '</option>');
});
},
error: function(request, status, error) {
var statusCode = request.status;
console.log(statusCode);
}
});
});
Значение для второго select
-а надо устанавливать после того, как он асинхронно заполнен.
$('#filterName').on('click', function () {
if (paramsURL['mtype'] > 0) {
$('select[name="mtype"]').val(paramsURL['mtype']).trigger('change');
$('select[name="brand"]').data("value", (paramsURL['brand'] > 0)? paramsURL['brand'] : "");
}
});
$('select[name="mtype"]').change(function () {
...
$.each(data, function(key, val){
brand.append('<option value="' +key+ '">' +val+ '</option>');
});
if (brand.data("value")) {
brand.val(brand.data("value")).trigger('change');
brand.data("value", "");
}
...
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет, проблема такая, на сайте - https://markuslutrellgithub
У меня есть input на странице в котором по умолчанию value задано 1При клике на кнопку я передаю значение через ajax, значение этого поля должно передаться...
Как создать модальное диалоговое окно(как окно папки) на html странице, которое можно перемещать свободно по странице? С чего стоит начать?
Необходимо опустить на несколько пикселей label по оси X, для отрисовки linel chart использую библиотеку Google Chart (использую Vue фреймворк и Google Chart)Возможно...