2016-05-24 4 views
0

Dieser Code versucht, den Wert des Attributs value in der aktivierten Optionsschaltfläche in jeder Funkgruppe abzurufen. aber kann es nicht zur Arbeit bringen. DankIn jeder Funkgruppe den aktivierten Radioknopf abrufen

let doc = {}; 
    $('.radio-group').each(function() { 
     doc.id = $(this).attr('_id'); 
     $(this).children.each(function() { 
     let validName = $($(this):checked).attr('value'); 
     doc.checkedName = validName; 
     } 
    }) 
<div class='radio-group' _id='abc'> 
    <label class='radio-item'> 
    <input class='radio-icon' value='value 1' name='g' type='radio'></input> 
    <span class='radio-label'>choose me </span> 
    </label> 
<label class='radio-item'> 
    <input class='radio-icon' value='value 2' name='g' type='radio'></input> 
    <span class='radio-label'>choose me </span> 
    </label> 
</div> 
+0

'$ ('Radio-Gruppe Eingang: checked '), die jede (function() {$ (this) .attr (' name');});' – Liam

+0

Apologies. Für Kommentar Antwort, nur ein bisschen beschäftigt am Mo .. :) – Liam

+0

Warum verwenden Sie nicht 'id' statt' _id'? – Mohammad

Antwort

1

$(".radio-group input:checked") Verwenden Sie können wählen, jede Eingabe überprüft, das Kind von .radio-group ist.

$(".radio-group input").click(function(){ 
 
    var doc = []; 
 
    $(".radio-group input:checked").each(function(index) { 
 
     var id = $(this).closest(".radio-group").attr('_id'); 
 
     doc.push(id); 
 
    }); 
 
    console.log(doc); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="radio-group" _id="id1"> 
 
    <input type="radio" /> 
 
    <label>Item 1</label> 
 
</div> 
 
<div class="radio-group" _id="id2"> 
 
    <input type="radio" /> 
 
    <label>Item 2</label> 
 
</div> 
 
<div class="radio-group" _id="id3"> 
 
    <input type="radio" /> 
 
    <label>Item 3</label> 
 
</div> 
 
<div class="radio-group" _id="id4"> 
 
    <input type="radio" /> 
 
    <label>Item 4</label> 
 
</div>

+0

Ich muss jede Attributgruppe '_id' der Attributgruppe sowie den Wert der Eigenschaft' value 'für das Optionsfeld erhalten, das für diese Funkgruppe ausgewählt ist, deshalb die Schleife über alle Gruppen. Ihr Code wird das nicht tun, sondern wird auf einen Klick warten. Wenn das auf "Jeder" geändert wird, wird das Dokument mit so vielen Optionsfeldern gefüllt, wie es nicht benötigt wird. –