Цитата:
if (b === 0) b = 1; else b = 0; Далее: Мы проверяем, на какой элемент кликнули в последний раз, а на какой сейчас. Если они совпадают, то меняем checked. |
agert,
b ^= 1; это не степень это исключающее или http://javascript.ru/bitwise-operators способ установления переменной в 1 или true -- затем в 0 или false и т.д. Алгоритм такой : Если кнопка ранее не нажималась установить переменную b в ноль , в переменной a запомнить какая кнопка нажата . потом установить значение checked согласно тригеру b. b ^= 1; или b = b ^ 1; это можно заменить данном случае на b=!b; |
вот более простой для понимая вариант
<!DOCTYPE HTML> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script src="my.js"></script> </head> <body> <input type="radio" class="radio" name="group"> <input type="radio" class="radio" name="group"> <script type="text/javascript"> $('.radio').bind({ 'mouseup': function(){ $(this).data('prv-checked', this.checked); }, 'click': function(){ this.checked = ! $(this).data('prv-checked'); } }); </script> </body> </html> а вот вариант рони до минимизации <!doctype html> <html> <body> <input type="radio" class="radio" name="group"> <input type="radio" class="radio" name="group"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script type="text/javascript"> var prvEl, prvChecked; $('.radio').click(function(){ if (prvEl != this) { prvChecked = false; prvEl = this; } this.checked = ! prvChecked; prvChecked = ! prvChecked; }); </script> </body> </html> а для тех, кого интересует практическая сторона задачи, стоит подумать над вопросом, который задал Артемий Лебедев Сергею Чикуенку: "Как пользователь поймет, что оно так работает?" |
Ну да, для рядового юзера куда проще что-то типа:
<label><input type="radio" name="group" checked>Ничего</label><br> <label><input type="radio" name="group">Пиво</label><br> <label><input type="radio" name="group">Водка</label> И тут уж выбирать надо что важней, дизайн и фишки или колличесьво человек не забивших на заполнение.) |
А как сделать чтоб рядом выводилось, после выбора, рядом значение "1","2" или "3" в отдельной строке?
Буду очень благодарен! <label><input type="radio" name="group" checked="checked" />Ничего "1"</label><br /> <label><input type="radio" name="group" />Пиво "2"</label><br /> <label><input type="radio" name="group" />Водка "3"</label> |
Stolarate,
:write: <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> span{ display: none; width: 40px; text-align: right; } label input:checked ~ span { display: inline-block; } </style> </head> <body> <label><input type="radio" name="group" checked="checked" />Ничего "1"<span>1</span></label><br /> <label><input type="radio" name="group" />Пиво "2"<span>2</span></label><br /> <label><input type="radio" name="group" />Водка "3"<span>3</span></label> </body> </html> |
Часовой пояс GMT +3, время: 00:45. |