如何获取属于选中单选按钮

时间:2017-05-05 13:37:21

标签: javascript jquery plugins ckeditor

我正在尝试获取属于选中的单选按钮的标签文本,但我不能并且我的代码无法正常工作:

$(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>

4 个答案:

答案 0 :(得分:0)

尝试这样的事情:

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

它将返回male

Working Fiddle

答案 1 :(得分:0)

label - 删除find()。另请注意,each()是多余的,因为每个命名组只能有一个选中的单选按钮。

$(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>

答案 2 :(得分:0)

只需添加 $(this).parent().text(); ,而不是 $(this).parent().find('label').text(); ,因为标签上有文字。所以你不需要找标签。

请参阅下面的工作代码:

$(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>

答案 3 :(得分:0)

它无法正常工作,因为您正在更改forEach中的值。尝试将警报放在foreach中,然后您可以直接按类访问。看看下面:

&#13;
&#13;
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);
});
  
&#13;
<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>
&#13;
&#13;
&#13;