Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Помогите пожалуйста с мулти селектом


Автор: 53219 6.3.2012, 06:40
Код

<select id="lstStuff" name="mark[]" multiple="multiple" onChange="lstStuff_OnChange()"></select>    
<a href="javascript:selectAll('lstStuff', true);">Все</a>
<a href="javascript:selectAll('lstStuff', false);">Очистить</a>
<select id="lstOtherStuff" name="seria[]" multiple="multiple" ></select>
<a href="javascript:selectAll('lstOtherStuff', false,);">Очистить</a>


Код

<script type="text/javascript" charset="utf-8">
var otherStuff = {
            "item 1" : [ "subitem 1.1", "subitem 1.2", "subitem 1.3", "subitem 1.4" ],
            "item 2" : [ "subitem 2.1", "subitem 2.2" ],
            "item 4" : [ "subitem 4" ],
            "item 6" : [ "subitem 6.1", "subitem 6.2" ]
        };

var sersel = new Array("subitem 1.3","subitem 2.1","item 4","subitem 6.2");

        function selectAll(listName, selected) {
            var listBox = document.getElementById(listName);
            for(i=0; i<listBox.length; i++) {
                listBox.options[i].selected=selected;
            }
            if( listBox.onchange ) {
                listBox.onchange();
            }
        }
        function lstStuff_OnChange() {
            var listBox = document.getElementById("lstStuff");
            var subListBox = document.getElementById("lstOtherStuff");
            subListBox.options.length=0;
            for(i=0; i<listBox.length; i++) {
                if( listBox.options[i].selected ) {
                    var key = listBox.options[i].text;
                    if(otherStuff[key]) {
                        for(j=0; j<otherStuff[key].length; j++) {
                            var optn = document.createElement("option");
                            optn.text = otherStuff[key][j];
                            optn.value = otherStuff[key][j];
                                for(w=0; w<sersel.length; w++)
                                {
                                    if (sersel[w] == otherStuff[key][j]){optn.selected=true;}
                                }
                            subListBox.options.add(optn);
                        }
                    }
                }
            }
        }
    </script>


Уважаемые знатоки очень нужна ваша помощь выше приведенный код выводит два мульти селекта при выборе первой на второй выводиться список options ни как не могу сделать что бы значения в массиве sersel были selected

Автор: 53219 6.3.2012, 16:30
Что никто не откликнется?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)