Цитата:
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, время: 07:12. |