Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите сделать такой select (https://javascript.ru/forum/misc/37559-pomogite-sdelat-takojj-select.html)

silor 30.04.2013 12:48

а как можно подругому сделать чтобы работало?))

ksa 30.04.2013 13:44

Цитата:

Сообщение от silor
а как можно подругому сделать чтобы работало?

Повторюсь...
Цитата:

Сообщение от ksa
Как тебе что-то можно сказать, если нет действующего примера...


silor 02.05.2013 20:20

Я пишу код так:

<label>Выберете способ доставки
<select name="dost" onchange='test(this.value);'>
<option value="0"></option>
<option value="1">Почтой России (оплата при получении)</option>
<option value="2">Курьером по России (Оплата по предоплате)</option>
</select>
</label>
<div>
<select name="pay">
<option value="1">Оплата наличными при получении</option>
</select>
<label id='case2'>Выберете способ оплаты:
<select name="pay">
<option value="0"></option>
<option value="2">Предоплата на Яндекс деньги</option>
<option value="3">Предоплата на WebMoney</option>
</select>
</label>


из-за
<option value="1">Оплата наличными при получении</option>
не срабатывает проверка js
if ((f.dost.selectedIndex > 1) && (f.pay.selectedIndex == 0)) alert('Выберите способ оплаты!');

Dim@ 02.05.2013 20:32

silor,
так и не сработает - смените name у
<select name="pay">
<option value="1">Оплата наличными при получении</option>
</select>

к примеру на "pay2" или делайте такой JS:
if ((f.dost.selectedIndex > 1) && (document.getElementsByName("pay")[1].selectedIndex == 0)) alert('Выберите способ оплаты!');

несомненно лучше первый вариант

silor 02.05.2013 20:47

Dim@, дело в том, что сменить name не вариант, так как в базу заносится способ оплаты, собственно name "pay"

Dim@ 02.05.2013 20:52

silor,
ну юзайте второй вариант

silor 02.05.2013 20:53

а чем второй вариант хуже первого..?

Dim@ 02.05.2013 21:01

silor,
тем что если ВДРУГ перед:
<label id='case2'>Выберете способ оплаты:
<select name="pay">
<option value="0"></option>
<option value="2">Предоплата на Яндекс деньги</option>
<option value="3">Предоплата на WebMoney</option>
</select>
</label>
появится любой элемент с именем "pay", то код не заработает (как надо), лучший выход (мне так кажется) из такого положения присвоить
<select name="pay">
уникальный id и писать
if ((f.dost.selectedIndex > 1) && (document.getElementById("здесь id прописанный в html").selectedIndex == 0)) alert('Выберите способ оплаты!');

ksa 02.05.2013 23:14

silor, ты сам придумал проблему. А теперь пыжешся её преодалеть...

Не делай так и будет тебе счастие.

silor 03.05.2013 23:57

ksa, а как тогда выйти из этой проблемы? Если необходимо чтобы в базу данных заносился value со способом доставки и оплаты..


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