Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Сделать активным radiobutton (https://javascript.ru/forum/jquery/30780-sdelat-aktivnym-radiobutton.html)

project1 15.08.2012 16:30

Сделать активным radiobutton
 
Привет всем! Подскажите пожалуйста, как мне сделать активным определённый radiobutton при событии?

$('#radiobuttonID').attr('checked', 'checked') и $('#radiobuttonID').click() не работают :(

Мне нужно, чтобы как бы нажался радиобуттон, спасибо :)

melky 15.08.2012 18:18

$radiobutton.attr("checked", true);

project1 16.08.2012 10:42

Говорю же, не работает, всё что связано с attr.

Deff 16.08.2012 10:46

project1,
Ссылку или HTML код c траблом 0 выложите ( чтобы работал в топике
[HTML run]Тут код[/HTML]

ksa 16.08.2012 11:38

Цитата:

Сообщение от project1
не работает, всё что связано с attr.

Бивас, тест! (с)

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('#go').click(function (){
		$('#rb1').attr('checked',true);
	});
});
</script>
</head>
<body>
	<form>
		<input type='radio' name='test' id='rb1' />
		<input type='radio' name='test' id='rb2' />
		<input type='button' id='go' value='Test' />
	</form>
</body>
</html>

Таки работает! :)

project1 16.08.2012 11:49

При клике по четвёртому радиобаттону из 4-х, вызывается функция, где сразу проверяется список точек самовывоза select.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>Пример</title>
</head>
<body>
<input id="payType1" type="radio" checked="true" name="payType" value="1" onclick="checkAvailPups()" />
<label for="payType1">наличными</label>
<input id="payType2" type="radio" name="payType" value="2" onclick="checkAvailPups()" />
<label for="payType2">запросить счет</label>
<input id="payType3" type="radio" name="payType" value="3" onclick="checkAvailPups()" />
<label for="payType3">банковская карта</label>
<input id="payType4" type="radio" name="payType" value="4" onclick="checkAvailPups()" />
<label for="payType4">в кредит<sup style="color:red;">new</sup></label><br /><br />
<select onchange="changedPup(this);" id="selfDeliveryPup" name="selfDeliveryPup">
  <option value="ptoptik" kbtpup="0" urpup="1" credit="0" visa="0" disabled="">Магазин на ул. Оптиков</option>
  <option value="spmbudapes" kbtpup="0" urpup="0" credit="0" visa="0">Будапештская</option>
  <option value="spmgrazhd" kbtpup="0" urpup="1" credit="0" visa="0">Гражданский проспект</option>
  <option value="spmdesant" kbtpup="0" urpup="0" credit="0" visa="0">Десантников</option>
  <option value="spmdunay" kbtpup="0" urpup="1" credit="0" visa="0">Дунайский проспект</option>
  <option value="spmdybenko" kbtpup="0" urpup="1" credit="0" visa="0">Дыбенко</option>
</select>
<script type="text/javascript">
function checkAvailPups() {
	//список точек самовывоза (<select>)
	var select = $('#selfDeliveryPup'), nextAvail;
	//выбранный option
	var currentPUP = select.children(':selected');
	 //если выбран 4-й радиобаттон и текущий option имеет атрибут credit != 1
	if ($('#payType4').is(':checked') && currentPUP.attr('credit') != 1) {
		//нахожу следующий option из списка, где аттрибут credit != 0 чтобы его сделать выбранным
		nextAvail = select.children('option[credit!=0]:enabled').eq(0);
		//если такой option есть хотябы 1
		if (nextAvail.size() > 0) {
			alert('Покупка в кредит для выбранной точки самовывоза временно невозможна.');
			//то просто отключаю его
			currentPUP.attr('disabled', 'disabled');
			//и делаю выбранным найденный option где атрибут credit != 0
			nextAvail.attr('selected', 'selected');
		} else { //если же таких option'ов больше нет
			//отключаю radiobutton c выбранным четвёртым вариантом оформления заказа
			$('#payType4').attr('disabled', 'disabled');
			alert('Покупка в кредит временно невозможна.');
			//тут мне надо как бы сэмулировать нажатие на первый вариант доставки, но так не работает :(
			$('#payType1').attr('checked', true);
		}
		return false;
	}
}
</script>
</body>
</html>

project1 16.08.2012 11:52

Цитата:

Сообщение от ksa
Бивас, тест! (с)

При событии конечно работает, у меня немного другая ситуация...
Если же пишу $('elementID').click(), то браузер подвисает и начинает зацикливаться и выдавать постоянно alert...

project1 16.08.2012 12:25

Ой, ребят простите, работает. Наверно у меня там где-то пересекаются функции или события, поэтому глючит :)

ksa 16.08.2012 13:39

Цитата:

Сообщение от project1
у меня немного другая ситуация

Для этого и показывают тестовые примеры...

melky 16.08.2012 13:50

Цитата:

Сообщение от ksa
Бивас, тест! (с)

какая знакомая фраза. здравствуйте, ksa!


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