Сделать активным radiobutton
Привет всем! Подскажите пожалуйста, как мне сделать активным определённый radiobutton при событии?
$('#radiobuttonID').attr('checked', 'checked') и $('#radiobuttonID').click() не работают :( Мне нужно, чтобы как бы нажался радиобуттон, спасибо :) |
$radiobutton.attr("checked", true); |
Говорю же, не работает, всё что связано с attr.
|
project1,
Ссылку или HTML код c траблом 0 выложите ( чтобы работал в топике [HTML run]Тут код[/HTML] |
Цитата:
<!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> Таки работает! :) |
При клике по четвёртому радиобаттону из 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> |
Цитата:
Если же пишу $('elementID').click(), то браузер подвисает и начинает зацикливаться и выдавать постоянно alert... |
Ой, ребят простите, работает. Наверно у меня там где-то пересекаются функции или события, поэтому глючит :)
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 07:25. |