使用带有多重选择的ExtJS

0yg35tkg  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(140)

我有一个带有下一代码的表单:

<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);
}

我认为应该有一个函数,它返回一个选定值的数组,就像jQuery的val()一样。

ggazkfy8

ggazkfy81#

如果您希望将多个选择与类似ComboBox的功能相结合,我建议使用SuperBoxSelect用户扩展。如果开箱即用的外观不适合您,您可以通过修改或删除附带的CSS轻松更改它。
该组件提供了检索选定值的好方法。当用户选择值时,组件将记住这些值并将其存储在内部。相反,如果用户删除值,组件也会为您处理该状态。假设原始功能适合您,您所需要做的就是在准备提交表单时调用方法来获取值。
如果您感兴趣,这里有一个演示页面。它很容易包含在javascript中,所以不要担心它是一个用户扩展:
http://www.technomedia.co.uk/SuperBoxSelect/examplesRemote.html

相关问题