给出一组单选按钮。如何获取其值的数组(包括空值),例如给定。
// use jquery to display [Yes, null, null, No]

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
true <input type="radio" name="one" value="Yes" checked>
false <input type="radio" name="one" value="No">
</p>
<p>
true <input type="radio" name="two" value="Yes">
false <input type="radio" name="two" value="No">
</p>
<p>
true <input type="radio" name="three" value="Yes" >
false <input type="radio" name="three" value="No" >
</p>
<p>
true <input type="radio" name="three" value="Yes">
false <input type="radio" name="three" value="No" checked >
</p>
&#13;
我如何获得[是,null,null否]
答案 0 :(得分:2)
1。 您需要检查每个<p>
已检查的广播框长度
2。 如果长度为0,则将NULL
推送到数组,否则按下已检查的单选按钮值
工作代码段: -
$(document).ready(function(){
var radio_arr = [];
$('p').each(function(){
radio_arr.push($(this).find('input[type=radio]:checked').length ? $(this).find('input[type=radio]:checked').val() : 'NULL');
});
console.log(radio_arr);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
true <input type="radio" name="one" value="Yes" checked>
false <input type="radio" name="one" value="No">
</p>
<p>
true <input type="radio" name="two" value="Yes">
false <input type="radio" name="two" value="No">
</p>
<p>
true <input type="radio" name="three" value="Yes" >
false <input type="radio" name="three" value="No" >
</p>
<p>
true <input type="radio" name="three" value="Yes">
false <input type="radio" name="three" value="No" checked >
</p>
答案 1 :(得分:0)
您可以迭代每个单独的输入分组并返回具有checked
属性的值的值:
var groups = ['one', 'two', 'three','four'];
var result = [];
groups.forEach(function(group,i){
result[i] = $('input[name='+group+']:checked').attr('value')
});
console.log(result); // will print ["Yes", undefined, undefined, "No"]
Here's a working example。您的HTML目前有第三组和第四组,两者都命名为&#34;三个&#34;所以我把最后一个更改为&#34;四个&#34;为了更好地匹配您希望得到的结果。
如果您真的想要null作为响应,只需添加条件以返回null
如果值=== undefined
,但似乎无用