let input = $('div').find('input');
$('button').on('click', () => {
if (input.is(':checked')){
$('p').html(input.val());
}
else {
$('p').html("No value provided");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="radio-div">
<input type="radio" id="y" name="yorn" value="Yes">
<label for="y">Yes</label><br>
<input type="radio" id="n" name="yorn" value="No">
<label for="n">No</label><br>
<button>Check Value</button>
<p>
</p>
</div>
我正在尝试逐个获取表单中所有输入的值。但是我无法获取单选按钮值,它们总是返回相同的值:
但它检查是否选中了任何输入选项,并始终返回第一个选项(即使选中了"否",input.val()
也是"是"(。假设我想使用上面的变量let input
而不仅仅是$('input:checked')
选择器,如何使其工作?
小提琴: https://jsfiddle.net/Malvinka87/0qdj6bLw/8/
以防万一有人有同样的问题:解决方案是使用这样的方法filter
:
if (input.is(':checked')){
$('p').html(input.filter(':checked').val());
}