Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка события SELECT (https://javascript.ru/forum/misc/11442-obrabotka-sobytiya-select.html)

Capricorn 24.08.2010 03:09

Обработка события SELECT
 
Прошу помощи с данным кодом. На форме выбирается тип оплаты, если выбранна безналичка отображается то что в div, во всех остальных случаях скрыта.
<script type="text/javascript">
	function SelectPayType(){
		if (this.options.[this.selectedIndex].value == "3" ){
			document.getElementById('rek').style.display = 'block'}
			else {document.getElementById('rek').style.display = 'none'}
	}
</script>
...
...
...
	<select name="paymenttype" size="1" maxlength="32" style="width:336px;"	onChange="SelectPayType()">
		<option value="1" >наличный расчет</option>
		<option value="2" >кредитная карта</option>
		<option value="3" >безналичный расчет</option>
	</select>
		
	<div id="rek" style="display: none">
		ИНН: <input type="text"><BR>
		КПП: <input type="text"><BR>
		Организация: <input type="text"><BR>
		Юредический адрес: <input type="text"><BR>
		Фактический адрес: <input type="text"><BR>
	</div>

Gvozd 24.08.2010 03:12

Вы просите готовый скрипт с нуля.

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.

inGray 24.08.2010 09:17

this.options.[this.selectedIndex].value
- Что-то подозрительное

Capricorn 24.08.2010 09:57

Да ну, что вы, готовый скрипт мне вовсе не нужен, просто интересует как как правильно обратиться к SELECT через this что бы получить текущее его значение.

inGray 24.08.2010 10:18

this.options - Массив. Зачем Вы точку там ставите?
this.options[this.selectedIndex].value - попробуйте так))

B~Vladi 24.08.2010 10:19

Замени
<select name="paymenttype" size="1" maxlength="32" style="width:336px;"  onChange="SelectPayType()">

на
<select name="paymenttype" size="1" maxlength="32" style="width:336px;"  onChange="SelectPayType.call(this)">

ещё
if (this.options.[this.selectedIndex].value == "3" )

на
if (this.options[this.selectedIndex].value == "3" )


Самый быстрый вариант, а вообще это быдлокод.

Kolyaj 24.08.2010 10:21

Цитата:

Сообщение от inGray
this.options - Массив.

Не массив.

inGray 24.08.2010 10:24

Kolyaj,Простите.. коллекция.
B~Vladi, Код практически полностью тырен с готовых образцов в инете.

B~Vladi 24.08.2010 10:26

Может я затру тогда свой пост?!:-?

Capricorn 24.08.2010 10:31

B~Vladi, а что за вызов функции через call чем отличается при вызове без нее.
<select name="paymenttype" size="1" maxlength="32" style="width:336px;"  onChange="SelectPayType.call(this)">

Как раз после подобной записи код заработал. Огромное человеческое спасибо, а то третий день бился с этой частью кода.


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