Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Radio&Checkbox (https://javascript.ru/forum/dom-window/43971-radio-checkbox.html)

burka 29.12.2013 00:02

Radio&Checkbox
 
Здравствуйте! Подскажите пожалуйста что я делаю не так.
Мне нужно чтобы при выборе radio "самовывоз", в checkbox появлялась галочка. :help:
Вот код:
<div class="main">
	<div class="lpanel">
		<input type="radio" onclick="changes(this);" name="shipping_method" id="shipping_method_local_delivery" value="local_delivery" />
		<label for="shipping_method_local_delivery">Местная доставка</label>
		<input type="radio" onclick="changes(this);" name="shipping_method" id="shipping_method_local_pickup" value="local_pickup" /> 
		<label for="shipping_method_local_pickup">Самовывоз (Бесплатно!)</label>   
	</div>
	<div class="rpanel">
		<input id="shiptobilling-checkbox" class="input-checkbox" type="checkbox" name="shiptobilling" value="1" />
	</div>
</div>

<script>
	window.onload=function changes(element) {
			var sel = document.getElementById("shiptobilling-checkbox"),
				radio = document.getElementsByName("shipping_method");
			if(element.value == "local_pickup") {
				 sel.document.getElementById('shiptobilling-checkbox').checked = true;
			} else {
				sel.document.getElementById('shiptobilling-checkbox').checked = false;
			}
	}
</script>

Rise 29.12.2013 00:19

function changes(element) {
    document.getElementById('shiptobilling-checkbox').checked = (element.value == 'local_pickup') ? true : false;
}

burka 29.12.2013 00:24

Все работает! Спасибо большое!

burka 29.12.2013 00:48

Да все работает, но почему-то не так как я ожидал, можно еще как-то привентить чтобы вместе с этой функцией еще добавлялся ксс стиль к определенному классу "col-2", а стиль этот display: none;

burka 29.12.2013 00:50

У меня просто когда галочку ставил сам, кликом по чекбоксу элемет скрывался, а сейчас просто галочка ставится а элемент не скрывается

burka 29.12.2013 00:56

Скрипт даже скорее должен так работать:
1. Проверяет выбран ли shipping_method
2. Если нет то чекбокс не отмечается
3. Если да то чекбокс отмечается
4. Если человек выбрал другой метод то чекбокс не отмечается
5. Если человек выбрал shipping_method то отмечается

Rise 29.12.2013 00:59

Цитата:

Сообщение от burka (Сообщение 289850)
Проверяет выбран ли shipping_method

У тебя два shipping_method

burka 29.12.2013 01:02

Ну если не затруднит, то тут: http://presidentw.impodio.com/shop/ нужно закинуть пару товаров в корзину и справа в корзине нажать "Оплата" там и будет эта страница

burka 29.12.2013 01:03

Цитата:

Сообщение от Rise (Сообщение 289852)
У тебя два shipping_method

Извиняюсь... имел ввиду "local_pickup"

burka 29.12.2013 01:10

Ну если бы он так работал то когда изначально выбран "Самовывоз" то и чекбокс был отмечен, чего я к сожалению не вижу


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