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