Использование ExtJS с множественным выбором - PullRequest
2 голосов
/ 13 декабря 2010

У меня есть форма со следующим кодом:

<select multiple="multiple" id="something" class="boo" name="foo">
    <option value="40">AAAAA</option>
    <option value="39">BBBBB</option>
    <option value="15">CCCCC</option>
</select>

В настоящее время эта форма имеет связанную функцию onChange, которая выглядит следующим образом:

var updateValues = function(event, target, object){
     var selectbox = Ext.get(target.id);
     var values = [];
     for(i=0; i<selectbox.dom.options.length; i++){
         if (selectbox.dom.options[i].selected)
            {values.push(selectbox.dom.options[i].value);}
     }
     callSomeFunc(values);
}

Пожалуйста, покажите мне правильный путь, чтобысделать это с помощью ExtJS.Я думаю, что должна быть функция, которая возвращает массив выбранных значений, как это делает val() в jQuery.Если я не прав, напишите пожалуйста комментарий.

1 Ответ

0 голосов
/ 13 декабря 2010

Если вы хотите множественный выбор в сочетании с функциональностью, подобной ComboBox, я бы рекомендовал использовать расширение пользователя SuperBoxSelect .Если внешний вид и внешний вид устройства вам не подходят, вы можете легко изменить его, изменив или удалив включенный CSS.

Компонент предоставляет отличные методы для извлечения выбранных значений.Когда пользователь выбирает значения, компонент запоминает значения и сохраняет их внутри.И наоборот, если пользователь удаляет значения, компонент будет обрабатывать это состояние и для вас.Все, что вам нужно сделать, если исходная функциональность вам подходит, - это вызвать методы, чтобы получить значения, как только вы будете готовы отправить свою форму.

Вот демо-страница, если вам интересноЭто очень легко включить в ваш javascript, поэтому не беспокойтесь, что это расширение пользователя:

http://www.technomedia.co.uk/SuperBoxSelect/examplesRemote.html

...