Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Взаимосвязанные <select>. Как установить "selected" (https://javascript.ru/forum/dom-window/14169-vzaimosvyazannye-select-kak-ustanovit-selected.html)

denisOgr 04.01.2011 00:20

Взаимосвязанные <select>. Как установить "selected"
 
В общем с одно сайта http://lardi-trans.com/gruz/index.php взял скрипт, который делает взаимосязвнными поля( Страна-область). (....и потом понял, что подалел. так как лучше свой надо было писать. Но что есть-то есть. скрипт уже на многих страницах с интегрирован).
Так вот все работает, только проблем при поиске не могу выставить в областях то, что искали. Все выставляю, а области не могу.
Запрос для поиска передаю через POST, то есть у меня имя искомой облсти находится в переменной $_POST['areafrom'] область, потом при выводе списка областей делаю проверку и если имена совпадают, дописую селект. Все проверяется, селект дописывается, а облать не выделяется, все равно. Уверен причина в яваскрипте, а где именно не могу понят.

Могу предоставить коды, но их много, поэтому дам ссылки. Если нужно все таки коды-оформлю.

Вот не рабочий пример : мой сайт(страничка со скриптом )
http://vika-trans.com/gruz/
скрипт Change_select или Change_select2

А вот рабочий пример
http://lardi-trans.com/gruz/index.php
скрипт Change_select или Change_select2

:help:

ksa 04.01.2011 10:28

Цитата:

Сообщение от denisOgr
Могу предоставить коды, но их много

Сойдёт самый простенький хтмл-примерчик...
Цитата:

Сообщение от denisOgr
Как установить "selected"

У какого-то оптион в селекте?

denisOgr 04.01.2011 21:35

Вот кусочек кода:
Это скрипт с массивом областей:
<script language="javascript">
                    var UA = new Array ()
                    UA [0] = ""
                    UA [1] = "Винницкая обл."
                    UA [2] = "Волынская обл.
 function Change_select()        {        // Очищаем список

                        for (var c = 0; c < document.Form_name.areafrom.options.length; c++) {
                            document.Form_name.areafrom.options[c] = null;
                            c--; }
                        document.Form_name.areafrom.options[0] = new Option ('');;
                        if (document.Form_name.countryfrom.value == 'UA' || document.Form_name.countryfrom.value == 'RU' || document.Form_name.countryfrom.value == 'BY') {
                            document.Form_name.areafrom.disabled=false;
                            var sel_array1 = eval (document.Form_name.countryfrom.value)
                            for (var c = 0; c < sel_array1.length; c++) {
                                document.Form_name.areafrom.options[c] = new Option (sel_array1 [c]);
                                if (sel_array1 [c] == "") { document.Form_name.areafrom.options[c].selected=true; }
                            }
                        } else {
                            document.Form_name.areafrom.disabled=true;
                        }
                    }
                </script>

Это списки 1 -й страна, в зависимостиот выбора страны, скрипт выводит нужные области.
2-й список-это нужные области.
Во втором списке стоит selected(<option selected value="Винницкая обл." ),но он не становится выделенным!
<select class="sel175" name="countryfrom" onchange="Change_select()" onload="Change_select()">
                    <option selected="selected">
                 
                    <option value="UA">Украина

                    <option value="RU">Россия
                    <option value="BY">Беларусь
</select>
<select name="areafrom" class="sel175">


                                <option  selected value="Винницкая обл." >Винницкая обл.<option value="Волынская обл.">Волынская обл.<option value="Днепроп. обл.">Днепроп. обл.
 </select>


<script>Change_select();</script>

ksa 20.01.2011 14:26

Цитата:

Сообщение от denisOgr
Во втором списке стоит selected(<option selected value="Винницкая обл." ),но он не становится выделенным!

Не верю. (с) :)

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
</style>
</head>
<body>
<select name="areafrom" class="sel175">
	<option value="Винницкая обл.">Винницкая обл.</option>
	<option value="Волынская обл." selected>Волынская обл.</option>
	<option value="Днепроп. обл.">Днепроп. обл.</option>
</select>
</body>
</html>


Все выбрано...


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