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...

  1. <body id="test" onload="">
  2. <form>
  3. <select id="lstStuff" onChange="lstStuff_OnChange()" size="1" style="width:200px;">
  4. <option>item 1</option>
  5. <option>item 2</option>
  6. <option>item 3</option>
  7. <option>item 4</option>
  8. <option>item 5</option>
  9. <option>item 6</option>
  10. </select>
  11. <p/>
  12. <select id="lstOtherStuff" size="1" style="width:200px;">
  13. </select>
  14. </form>
  15. <script type="text/javascript" charset="utf-8">
  16. var otherStuff = {
  17. "item 1" : [ "subitem 1.1", "subitem 1.2", "subitem 1.3", "subitem 1.4" ],
  18. "item 2" : [ "subitem 2.1", "subitem 2.2" ],
  19. "item 4" : [ "subitem 4" ],
  20. "item 6" : [ "subitem 6.1", "subitem 6.2" ]
  21. };
  22. </script>
  23. <script type="text/javascript" charset="utf-8">
  24. function selectAll(listName, selected) {
  25. var listBox = document.getElementById(listName);
  26. for(i=0; i<listBox.length; i++) {
  27. listBox.options[i].selected=selected;
  28. }
  29. if( listBox.onchange ) {
  30. listBox.onchange();
  31. }
  32. }
  33. function lstStuff_OnChange() {
  34. var listBox = document.getElementById("lstStuff");
  35. var subListBox = document.getElementById("lstOtherStuff");
  36. subListBox.options.length=0;
  37. for(i=0; i<listBox.length; i++) {
  38. if( listBox.options[i].selected ) {
  39. var key = listBox.options[i].text;
  40. if(otherStuff[key]) {
  41. for(j=0; j<otherStuff[key].length; j++) {
  42. subListBox.options.add(new Option(otherStuff[key][j],otherStuff[key][j]));
  43. }
  44. }
  45. }
  46. }
  47. }
  48. </script>
  49. </body>


Z góry dzięki za pomoc
Pozdrawiam