JQuery кожны () толькі выклікаецца адзін раз

У мяне ёсць некалькі груп радыё, якія маюць мноства абмежаванняў, выбар, адзін з'яўляецца імя атрыбуту, а другі з JQuery. Для кожнай групы радыё, я ўключана настройка атрыбутаў ілжывая на змены так толькі адзін радыё можна праверыць у групе.

HTML

<div id="radio_group">
    <input type="radio" name="name" value="0"/>Name
    <input type="radio" name="address" value="0"/>Address
    <input type="radio" name="phone" value="0"/>Phone
</div>
<div id="radio_group">
    <input type="radio" name="name" value="1"/>Name
    <input type="radio" name="address" value="1"/>Address
    <input type="radio" name="phone" value="1"/>Phone
</div>

JQuery

$('#radio_group').each(function(){
    var mainElement = $(this);
    mainElement.children('input[type=radio]').on('change', function(){
        mainElement.children('input[type=radio]').not(this).prop('checked', false);
    });
});

Гэта працуе толькі з першай групай, любыя прапановы?

EDIT:

Б Селектар класа замест ID:

HTML

<div class="radio_group">
    <input type="radio" name="name" value="0"/>Name
    <input type="radio" name="address" value="0"/>Address
    <input type="radio" name="phone" value="0"/>Phone
</div>
<div class="radio_group">
    <input type="radio" name="name" value="1"/>Name
    <input type="radio" name="address" value="1"/>Address
    <input type="radio" name="phone" value="1"/>Phone
</div>

JQuery

$('.radio_group').each(function(){
    var mainElement = $(this);
    mainElement.children('input[type=radio]').on('change', function(){
        mainElement.children('input[type=radio]').not(this).prop('checked', false);
    });
});
1
«Навык ID прысвойвае унікальны ідэнтыфікатар да элемента» w3.org/TR/html401/struct/global.html#h-7.5.2
дададзена аўтар Stefan, крыніца
«Навык ID прысвойвае унікальны ідэнтыфікатар да элемента» w3.org/TR/html401/struct/global.html#h-7.5.2
дададзена аўтар Stefan, крыніца

8 адказы

Id 's is unique.You can use same class name for any no of elements but you can not use same id for more than one element

<div id="radio_group" class="className">
    <input type="radio" name="name" value="0"/>Name
    <input type="radio" name="address" value="0"/>Address
    <input type="radio" name="phone" value="0"/>Phone
</div>
<div id="radio_group" class="className">
    <input type="radio" name="name" value="1"/>Name
    <input type="radio" name="address" value="1"/>Address
    <input type="radio" name="phone" value="1"/>Phone
</div>


$('.className').each(function(){
    //write logic here
});
6
дададзена
Працаваў як шарм, дзякуй!
дададзена аўтар dcd0181, крыніца

Id 's is unique.You can use same class name for any no of elements but you can not use same id for more than one element

<div id="radio_group" class="className">
    <input type="radio" name="name" value="0"/>Name
    <input type="radio" name="address" value="0"/>Address
    <input type="radio" name="phone" value="0"/>Phone
</div>
<div id="radio_group" class="className">
    <input type="radio" name="name" value="1"/>Name
    <input type="radio" name="address" value="1"/>Address
    <input type="radio" name="phone" value="1"/>Phone
</div>


$('.className').each(function(){
    //write logic here
});
6
дададзена
Працаваў як шарм, дзякуй!
дададзена аўтар dcd0181, крыніца

HTML:

<div classs="radio_group">
    <input type="radio" name="name" value="0"/>Name
    <input type="radio" name="address" value="0"/>Address
    <input type="radio" name="phone" value="0"/>Phone
</div>
<div class="radio_group">
    <input type="radio" name="name" value="1"/>Name
    <input type="radio" name="address" value="1"/>Address
    <input type="radio" name="phone" value="1"/>Phone
</div>

JQuery:

$('.radio_group').each(function(){
    var mainElement = $(this);
    mainElement.children('input[type=radio]').on('change', function(){
        mainElement.children('input[type=radio]').not(this).prop('checked', false);
    });
});

Вы не можаце мець ідэнтыфікатар паўтораны

1
дададзена

HTML:

<div classs="radio_group">
    <input type="radio" name="name" value="0"/>Name
    <input type="radio" name="address" value="0"/>Address
    <input type="radio" name="phone" value="0"/>Phone
</div>
<div class="radio_group">
    <input type="radio" name="name" value="1"/>Name
    <input type="radio" name="address" value="1"/>Address
    <input type="radio" name="phone" value="1"/>Phone
</div>

JQuery:

$('.radio_group').each(function(){
    var mainElement = $(this);
    mainElement.children('input[type=radio]').on('change', function(){
        mainElement.children('input[type=radio]').not(this).prop('checked', false);
    });
});

Вы не можаце мець ідэнтыфікатар паўтораны

1
дададзена

Вы не можаце мець аднолькавыя ID некалькі разоў. Яго не Html скарга. Вы можаце выкарыстоўваць той жа клас і выкарыстоўваць . селектар , каб выбраць усе дзівы

0
дададзена

Вы не можаце мець аднолькавыя ID некалькі разоў. Яго не Html скарга. Вы можаце выкарыстоўваць той жа клас і выкарыстоўваць . селектар , каб выбраць усе дзівы

0
дададзена

ID are unique identifier. So when using jQuery # selector, it return only 1 object.

Выкарыстоўвайце клас замест гэтага і ён будзе працаваць.

0
дададзена

ID are unique identifier. So when using jQuery # selector, it return only 1 object.

Выкарыстоўвайце клас замест гэтага і ён будзе працаваць.

0
дададзена