[英]How to make the text of selected radio button label bold using jQuery or javascript?
[英]How to get the selected radio button label text using jQuery
我在页面上有一个单选按钮
<div id="someId">
<label class="radio-inline">
<input name="x" type="radio" onchange="GetSelectedVal();">Yes</label>
<label class="radio-inline">
<input name="x" type="radio" onchange="GetSelectedVal();">No</label>
</div>
在页面加载时,我不想设置任何选择,因此不使用checked
属性。 在我的JavaScript函数中,如何在运行时根据用户选择获取值Yes
或No
?
function GetSelectedVal() {
console.log($('#someId input:radio.........);
}
我看到过类似的问题,但无法找到此问题的解决方案。
从HTML
删除onchange
内联处理程序。 使用on
绑定事件。
:checked
将选择checked
单选按钮。 closest
将选择父label
并且text()
将获得与单选按钮关联的标签。 例如是
$('[name="x"]').on('change', function () {
alert($('[name="x"]:checked').closest('label').text());
});
您可以在onchange="GetSelectedVal();
简单地传递this
,就像onchange="GetSelectedVal(this);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="someId"> <label class="radio-inline"><input name="x" type="radio" onchange="GetSelectedVal(this);">Yes</label> <label class="radio-inline"><input name="x" type="radio" onchange="GetSelectedVal(this);">No</label> </div> <script> function GetSelectedVal(ele) { alert($(ele).closest('label').text()); } </script>
我会做的与接受的答案有些不同。
您可以在包含的div上创建一个,而不是在多个单选按钮上创建事件。 同样,让选中的单选按钮触发更改:
$('#someId').on('change', 'input[name="x"]:checked', function () {
var label = $(this).siblings('span').text();
console.log(label);
});
当我在其他元素旁边有文本时,我更喜欢将文本换成span:
<div id="someId">
<label class="radio-inline"><input name="x" type="radio"><span>Yes</span></label>
<label class="radio-inline"><input name="x" type="radio"><span>No</span></label>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.