Перевірте радіопристрій на події, що змінює прапорець

як ми перевірили або зняли прапорець біля всієї кнопки миші на прапорці .. якщо позначено прапорець, то всі кнопки також перевіряються і навпаки .. він не працює належним чином

<input type="checkbox" id="Check" />SelectAll
<input type="radio"/>First
<input type="radio"/>Second
<input type="radio"/>Third
<input type="radio"/>Fourth
<input type="radio"/>Fifth</div> <script> var IsCheck = false; $(document).ready(function() { $("#Check").change(function() { if (IsCheck == false) { $("input[type=radio]").attr("checked", true); IsCheck == true } else { $("input[type=radio]").attr("checked", false); IsCheck == false } }); }); </script>
1
Я не думаю, що радіо є правильним вибором en.wikipedia.org/wiki/Radio_button зазвичай тільки один вибір у групі вибирається
додано Автор HMR, джерело
(Важливе) примітка: var IsCheck = false; представляє глобальну змінну, яка - це погано . Вставте код JavaScript у функцію самонавідування .
додано Автор Rudolph Gottesheim, джерело
Будь ласка, не використовуйте для цього радіокнопки
додано Автор Jonathan, джерело

6 Відповіді

Будьте обережні, ви просто порівнювали операнди замість того, щоб присвоювати змінну в цих твердженнях:

IsCheck == true  
         ^------ REMOVE ONE = so it's an assignment

Також не використовуйте .attr ("checked", true); правильна форма:

$("input[type=radio]").attr("checked", 'checked'); //checking for jQuery < 1.6

І зняття прапорця:

$("input[type=radio]").removeAttr("checked");  //unchecking for jQuery < 1.6

If you are using jQuery > 1.6 you can use the .prop() method with a boolean, which is similar to how you were trying to use it:

$("input[type=radio]").prop("checked", true); //checking for jQuery >= 1.6
$("input[type=radio]").prop("checked", false); //unchecking for jQuery >= 1.6
3
додано

Для jQuery 1.9 або вище використовуйте

$('input[type=radio]').prop("checked", true)

В іншому випадку спробуйте

 $('input[type=radio]').attr('checked', 'checked');
2
додано

Ви просто цього потребуєте

$("#Check").change(function() {
    $("input[type=radio]").prop("checked", this.checked);
});

Demo ----> http://jsfiddle.net/kLnyD/

1
додано
$ ("input [type = radio]") +1 для найбільш ефективного коду та спочатку використовувати prop
додано Автор HMR, джерело
-1 для використання перемикачів як прапорців
додано Автор Jonathan, джерело
Так, я відкликаю -1 для кращого коду ...
додано Автор Jonathan, джерело

Для вашого питання це може бути відповіддю:

$("#Check").change(function() {
    $("input:radio").prop("checked", this.checked);
});

Demo : http://jsfiddle.net/hungerpain/QSx29/

Тим не менше, перемикачі - це не найкращий спосіб це зробити. Його не семантично правильно. У групі можна вибрати лише один перемикач. Спробуйте скористатись прапорцями. Спробуйте змінити розмір на це:

<input type="checkbox" id="Check" />SelectAll

<input type="checkbox" />First
<input type="checkbox" />Second
<input type="checkbox" />Third
<input type="checkbox" />Fourth
<input type="checkbox" />Fifth</div>

And replace the JS code to this :

$("#Check").change(function() {
    $("input:checkbox").prop("checked", this.checked);
});

Here's a demo : http://jsfiddle.net/hungerpain/QSx29/1/

1
додано

Спробуйте це

 $(document).ready(function() {                    
    $("#Check").change(function() {                        
      $("input[type=radio]").attr("checked", $("#Check").is(":checked"));                            
    });
 });

Demo

1
додано
дякую ... це працювало ...
додано Автор S. S. Rawat, джерело

спробуйте це

http://jsfiddle.net/4u9sQ/

 $("#Check").change(function() {
                        if ($(this).is(':checked')) {
                            $("input[type=radio]").prop("checked", true);

                        }
                        else { $("input[type=radio]").prop("checked", false); }
                    });
0
додано
ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram