使用ExtJS进行多重选择

时间:2010-12-13 11:51:31

标签: select extjs option multiple-select

我有一个包含下一个代码的表单:

<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向我展示正确的方法。我认为应该有一个函数,它返回一个选定值的数组,就像jQuery的val()一样。如果我不对,请写评论。

1 个答案:

答案 0 :(得分:0)

如果您希望多项选择与类似ComboBox的功能相结合,我建议您使用SuperBoxSelect用户扩展名。如果开箱即用的外观不适合您,您可以通过修改或删除附带的CSS轻松更改它。

该组件提供了检索所选值的好方法。当用户选择值时,组件将记住值并在内部存储它们。相反,如果用户删除了值,组件也将为您处理该状态。假设原始功能适合您,您需要做的就是在准备好提交表单后调用方法来获取值。

如果您有兴趣,这是一个演示页面。它很容易包含在您的JavaScript中,所以不要担心它是用户扩展名:

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