2017-05-05 1 views
0

Ich versuche zu bekommen, den Text der Etiketten zu prüfen gehört, die zu kontrollierenden Radiobuttons gehören, aber ich kann nicht, und mein Code funktioniert nicht richtig:, wie der Text des Labels zu erhalten, die Radio-Button

$(document).ready(function() { 
 
    var IS_SEX_Title 
 
    $('input[name="IS_SEX"]:radio:checked').each(function() { 
 
    IS_SEX_Title = $(this).parent().find('label').text(); 
 
    }); 
 
    alert(IS_SEX_Title) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="radio-inline" style="margin-right:10px;"> 
 
    <input value="0" class="form-control psd-input-radio" name="IS_SEX" id="IS_SEX_0" data-top-id="IS_SEX" checked="" type="radio"> 
 
    male 
 
</label>

+0

Die Eltern * ist * die 'label' - entfernen' finden() '. Beachten Sie auch, dass das 'each()' redundant ist, da Sie nur einen aktivierten Radiobutton haben können –

Antwort

0

so etwas wie dieses Versuchen:

$('input[name="IS_SEX"]').parent('label').text(); 

Es wird wieder male

Working Fiddle

0

Die Mutter ist die label - entfernen find(). Beachten Sie auch, dass die each() redundant ist, da Sie nur eine überprüfte Optionsschaltfläche pro benannter Gruppe haben können.

$(document).ready(function() { 
 
    var IS_SEX_Title = $('input[name="IS_SEX"]:radio:checked').parent().text().trim(); 
 
    console.log(IS_SEX_Title) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="radio-inline" style="margin-right:10px;"> 
 
    <input value="0" class="form-control psd-input-radio" name="IS_SEX" id="IS_SEX_0" data-top-id="IS_SEX" checked="true" type="radio"> 
 
    male 
 
</label> 
 
<label class="radio-inline" style="margin-right:10px;"> 
 
    <input value="0" class="form-control psd-input-radio" name="IS_SEX" id="IS_SEX_1" data-top-id="IS_SEX" type="radio"> 
 
    female 
 
</label>

0

Gerade diese $(this).parent().text(); statt $(this).parent().find('label').text(); hinzufügen, weil Beschriftungstext hat. Sie müssen also kein Etikett finden.

Siehe Snippet unten Arbeits:

$(document).ready(function() { 
 
    var IS_SEX_Title 
 
    $('input[name="IS_SEX"]:radio:checked').each(function() { 
 
    IS_SEX_Title = $(this).parent().text(); 
 
    }); 
 
    alert(IS_SEX_Title); 
 

 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<label class="radio-inline" style="margin-right:10px;"> 
 
      <input value="0" class="form-control psd-input-radio" name="IS_SEX" id="IS_SEX_0" data-top-id="IS_SEX" checked="" type="radio">male</label>

0

Es funktioniert nicht, weil Sie den Wert innerhalb forEach ändern. Versuchen Sie, die Warnung innerhalb der foreach zu platzieren, dann können Sie direkt auf die Klasse zugreifen. Schauen Sie unten:

var IS_SEX_Title 
 
$('input[name="IS_SEX"]:radio:checked').each(function() { 
 
    IS_SEX_Title = $('.radio-inline').text(); 
 
    console.log(IS_SEX_Title); 
 
    alert(IS_SEX_Title); 
 
}); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label class="radio-inline" style="margin-right:10px;"> 
 
    <input value="0" class="form-control psd-input-radio" name="IS_SEX" id="IS_SEX_0" data-top-id="IS_SEX" checked="" type="radio"> 
 
    male 
 
</label>

Verwandte Themen