日期:2014-05-16  浏览次数:20375 次

easyui combobox 全选时去除其他选项的问题
页面上的combobox多选框如下

<select id="level" class="easyui-combobox" name="level" data-options=" multiple:true" style="width:100px;">
        <option value="'A+','A-','A'">A</option>
        <option value="'A+','A-','A','B','C','D'" >All Level</option>
        <option value="'B'">B</option>
        <option value="'C'">C</option>
        <option value="'D'">D</option>
    </select>

现在希望当选择‘All Level’时,清除选择框中已有的其他选项只留下‘All Level’。 当已选中了All Level又选其他level时,去掉All Level。  就是实现个当全选时去掉子集...
------解决方案--------------------
clear掉选择的再选中需要的

    <select id="level" class="easyui-combobox" name="level" data-options=" multiple:true,onSelect:onSelect" style="width:100px;">
        <option value="'A+','A-','A'">A</option>
        <option value="'A+','A-','A','B','C','D'" >All Level</option>
        <option value="'B'">B</option>
        <option value="'C'">C</option>
        <option value="'D'">D</option>
    </select>
<script>
    function onSelect(r) {console.log(r)
        if (r.text == 'All Level') {
            $(this).combobox('clear').combobox('setValue', r.value)
        }
        else $(this).combobox('unselect', "'A+','A-','A','B','C','D'")
        }

    </script>