| Код | <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 |