Динамический select

часто задаваемые вопросы по программе
Ответить
kontora
Сообщения: 5
Зарегистрирован: 21 сен 2009, 18:19

Динамический select

Сообщение kontora » 24 сен 2009, 12:30

привет всем.

возник такой вопрос:

имеем три select'a

первый select:
<select>
<option>audi
<option>bmw
<option>toyota
и т.д. 50 марок машин

второй и третий селекты изначально пусты - данные в них подгружаются после выбора марки машины из первого селекта

вопрос - как сделать чтобы я принудительно задавал значение для всех 3 селектов - так как иногда данные во второй и третий селект не подгружаются - и приходится скрипт запускать заново.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2639
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 24 сен 2009, 19:42

если можно пример странички на bigfozzy@gmail.com или сюда - разберемся )

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2639
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 25 сен 2009, 11:18

например можно так :

$listbox->select_num_value_by_number($num1,"1");
$browser->wait(1);
sleep(3);

$listbox->select_num_value_by_number($num2,"1");
$browser->wait(1);
sleep(3);

$listbox->select_num_value_by_number($num3,"1");
$browser->wait(1);
sleep(3);

kontora
Сообщения: 5
Зарегистрирован: 21 сен 2009, 18:19

Сообщение kontora » 25 сен 2009, 14:45

этот способ я знаю

вопрос в другом: что делать если данные для второго селекта ВООБЩЕ не подгрузились

сейчас мне приходиться перезапускать скрипт

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2639
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 25 сен 2009, 14:58

еще слипы можно заменить на browser->get_body() с паузой и проверкой что содержимое загрузилось - если произошел сбой соединениея то тут нужно refresh сделать - ну и по новой - например запонение сделать в цикле ... - только так - тут уж от провайдера зависит


или если в боди нет такого текста - то повторить операцию для последнего селекта

kontora
Сообщения: 5
Зарегистрирован: 21 сен 2009, 18:19

Сообщение kontora » 25 сен 2009, 15:02

т.е. по другому никак нельзя присвоить значение?

чтобы чтобы я не выбирал из списка - а конкретно задавал для селекта - конкретное значение

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2639
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 25 сен 2009, 15:07

еще как вариант :

$listbox->get_size_by_number(3); - проверять скока на данный моменть там элементов


а насчет задания конкретного значения - попробуем - если HTML может так делать - то дабавим конечно )

ну и вопрос - полное перезаполнение элемента выбора своими данными - пойдет ?

kontora
Сообщения: 5
Зарегистрирован: 21 сен 2009, 18:19

Сообщение kontora » 25 сен 2009, 15:14

конечно пойдет :)

еще как вариант - сделать возможность добавлять между тэгами <form> и </form> - свои элементы - тогда я смогу просто добавлять вручную селекты с такими же имена - и проблема решена

но первый вариант - все таки проще (не вплане реализации, тут я оценить сложность не могу)

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2639
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 25 сен 2009, 15:16

оки - принято )

kontora
Сообщения: 5
Зарегистрирован: 21 сен 2009, 18:19

Сообщение kontora » 25 сен 2009, 15:21

спасибо.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2639
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 29 сен 2009, 02:42

сделано:

- добавлены следующие функции в объект listbox:
- add_option_by_number
- add_option_by_name

Ответить