#php #jquery #multi-select
#php #jquery #множественный выбор
Вопрос:
Мне нужно отключить некоторые параметры в списке выбора после того, как я динамически добавлю параметры.
Мой список выбора динамически создается при выборе элемента из другого списка.
Список создается на PHP, затем возвращается в мой javascript с помощью $.ajax
вызова. Как только параметры будут добавлены в мой список, мне нужно перебрать параметры и отключить определенные параметры.
Я могу добавить параметры, но я не могу отключить определенные параметры. Я думаю, это потому, что параметры не привязаны к DOM (или что-то в этом роде).
Это код, который я использую сейчас:
// HTML
<select id='selectlist_store' name='selectlist_store' size='6' multiple='multiple'></select>
// Javascript
// Populate store multi-select list
jQuery('#selectlist_city').live('change', function(){
populateStoreListBox(jQuery(this).val(), function(list) {
// Add options to list
jQuery('#selectlist_store').html(list);
// Disable specific element
jQuery('#selectlist_city option [value=56]').attr('disabled','disabled');
});
});
function populateStoreListBox(country_id, callback){
jQuery.ajax({
url: (...),
data: (...),
dataType: 'html',
success: (function(city_list) {
callback(city_list);
})
});
Что мне нужно сделать, чтобы отключить некоторые параметры после того, как я их добавил?
Одним из решений, возможно, было бы вернуть JSON
массив вместо HTML
, затем выполнить цикл по массиву и динамически создать мой новый список опций и отключить параметры, которые я хочу отключить.
Но есть ли другой способ?
Ответ №1:
Вам нужно удалить пробел перед [
jQuery('#selectlist_city option[value=56]').attr('disabled','disabled');
Комментарии:
1. Хах! Вот так просто. Спасибо, приятель!