Witam
Mam dwa problemy odnośnie poniższego skryptu:
1 - w jaki sposób można ustawić w 'select id="lstOtherStuff"' aby po wyborze we wcześniejszym polu select, w tym był zaznaczony określony 'rekord' (dodanie do wybranego 'rekordu' selected="selected"
2 - po 'cofnięciu się' do strony z tym formularzem w pierwszym polu select nie ma problemu z 'powrotem' do wybranej pozycji, gorzej w drugim polu bo nie wyświetla się nawet lista...
<body id="test" onload=""> <select id="lstStuff" onChange="lstStuff_OnChange()" size="1" style="width:200px;"> <select id="lstOtherStuff" size="1" style="width:200px;"> <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" ]
};
<script type="text/javascript" charset="utf-8"> 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++) {
subListBox.options.add(new Option(otherStuff[key][j],otherStuff[key][j]));
}
}
}
}
}
Z góry dzięki za pomoc
Pozdrawiam