Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Работа с <select> (https://javascript.ru/forum/dom-window/31538-rabota-s-select.html)

fAmOus 12.09.2012 00:39

Работа с <select>
 
Всем привет..
У меня возникла проблема, но не пойму как решить..
Вообщем есть:
<select id="tPlatform" size="13" multiple="" name="Platform"> 
<option value=" PC">PC</option> 
<option value=" PlayStation3">PlayStation3</option> 
<option value=" X-BOX 360">X-BOX 360</option> 
<option value=" Wii">Wii</option> 
<option value=" PSP">PSP</option> 
<option value=" iPhone">iPhone</option> 
<option value=" Android">Android</option> 
<option value=" Nintendo DS">Nintendo DS</option> 
<option value=" Xbox">Xbox</option> 
<option value=" PlayStation 2">PlayStation 2</option> 
<option value=" GameCube">GameCube</option> 
<option value=" 3DS">3DS</option> 
<option value=" Vita">Vita</option> 
<option value=" Wii U">Wii U</option>
</select>


Ну вообщем после выбора, все выбранные названия после клика по обычной кнопке добавляются в блок, допустим так:
<div id="inText">
PC, PlayStation3, X-BOX 360, PlayStation 2, 3DS
</div>


Собственно при обновлении страницы блок #inText остаётся с выбранными платформами и теперь нужно чтобы он как-то выделял таким способом:

<select id="tPlatform" size="13" multiple="" name="Platform"> 
<option selected value=" PC">PC</option> 
<option selected value=" PlayStation3">PlayStation3</option> 
<option selected value=" X-BOX 360">X-BOX 360</option> 
<option value=" Wii">Wii</option> 
<option value=" PSP">PSP</option> 
<option value=" iPhone">iPhone</option> 
<option value=" Android">Android</option> 
<option value=" Nintendo DS">Nintendo DS</option> 
<option value=" Xbox">Xbox</option> 
<option selected value=" PlayStation 2">PlayStation 2</option> 
<option value=" GameCube">GameCube</option> 
<option selected value=" 3DS">3DS</option> 
<option value=" Vita">Vita</option> 
<option value=" Wii U">Wii U</option>
</select>

lord2kim 12.09.2012 09:19

fAmOus,
<html>
<head>
<title></title>
</head>
<body>
<div id="inText">PC, PlayStation3, X-BOX 360, PlayStation 2, 3DS</div>
<select id="tPlatform" size="13" multiple name="Platform">
<option value=" PC">PC</option>
<option value=" PlayStation3">PlayStation3</option>
<option value=" X-BOX 360">X-BOX 360</option>
<option value=" Wii">Wii</option>
<option value=" PSP">PSP</option>
<option value=" iPhone">iPhone</option>
<option value=" Android">Android</option>
<option value=" Nintendo DS">Nintendo DS</option>
<option value=" Xbox">Xbox</option>
<option value=" PlayStation 2">PlayStation 2</option>
<option value=" GameCube">GameCube</option>
<option value=" 3DS">3DS</option>
<option value=" Vita">Vita</option>
<option value=" Wii U">Wii U</option>
</select>
<script>
window.onload = function () {
    var div = document.getElementById("inText").innerHTML, els = div.split(", "), sel = document.getElementById("tPlatform").options;
    if (els.length < 1) { return; }
    for (i=0; i < sel.length; i++) {
        for (j=0; j < els.length; j++) {
            if (sel[i].text == els[j]) { sel[i].selected = true; break; }
        }   
    }
}
</script>
</body></html>

fAmOus 16.09.2012 16:41

lord2kim,
Спасибо, можете переделать его на jquery v1.3.2?
Просто я его ставлю и он конфликтует с другим скриптом :(

lord2kim 16.09.2012 16:52

fAmOus, jQuery не знаю...
конфликт скорее всего из-за того, что у вас уже где то есть window.onload (туда же добавьте эту функцию)

bes 17.09.2012 12:05

поместите в ready


Часовой пояс GMT +3, время: 16:50.