Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   убрать checked с radiobutton (https://javascript.ru/forum/events/15857-ubrat-checked-s-radiobutton.html)

agert 16.03.2011 15:47

убрать checked с radiobutton
 
Есть группа radiobutton из 3-х элементов. По умолчанию ни один не выбран. Нужно чтобы после того как будет выбран один из них, можно было отключить checked повторным кликом. Чтобы снова ни один не был выбран.

Matre 16.03.2011 15:57

element.disabled = true;

agert 16.03.2011 16:03

Цитата:

Сообщение от Matre (Сообщение 96878)
element.disabled = true;

А условие какое прописать. Дело в том, что при нажатии сначала убирается checked javascriptom, а потом снова ставится.

ksa 16.03.2011 16:24

Цитата:

Сообщение от agert
Нужно чтобы после того как будет выбран один из них, можно было отключить checked повторным кликом.

Это вроде как будет само собой...

Цитата:

Сообщение от agert
Чтобы снова ни один не был выбран.

Так когда это нужно делать?

Тестовый пример где? Что делал сам?

lalala 16.03.2011 16:29

element.checked = true или false
а по поводу отмены, сделайте кнопку(если такой вариант устроит) и для каждого радиобатона из набора - .checked = false
или я чет перепутал?))

Aetae 16.03.2011 17:44

Фишка в том что checked ставится уже после onclick. Вариантов конечно много, но красивых я не вижу чёт.)

lalala 16.03.2011 19:47

Цитата:

Сообщение от Aetae
Фишка в том что checked ставится уже после onclick. Вариантов конечно много, но красивых я не вижу чёт.)

не знал что он так работает) надо будет запомнить:)

Aetae 16.03.2011 19:57

Тфу ты ё-моё не то хотел сказать. После mouseup.

рони 16.03.2011 21:11

agert,
Вариант ...
<script type="text/javascript">
var a,b;
function foo(c) {
    if (a != c) {b = 0;a = c};
    b ^= 1;
    c.checked = b
};
</script>
<input type="radio" name="r" value="1" onclick="foo(this)"/>
<input type="radio" name="r" value="2" onclick="foo(this)"/>
<input type="radio" name="r" value="3" onclick="foo(this)"/>

agert 17.03.2011 11:44

Цитата:

Сообщение от рони (Сообщение 96912)
agert,
Вариант ...
<script type="text/javascript">
var a,b;
function foo(c) {
    if (a != c) {b = 0;a = c};
    b ^= 1;
    c.checked = b
};
</script>
<input type="radio" name="r" value="1" onclick="foo(this)"/>
<input type="radio" name="r" value="2" onclick="foo(this)"/>
<input type="radio" name="r" value="3" onclick="foo(this)"/>

Спасибо. Всё работает. Но я не понимаю смысл этих строк
if (a != c) {b = 0;a = c};
b ^= 1;
c.checked = b

Больше всего не понимаю зачем b возводить в первую степень.


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