从单选按钮组传递多个值

Passing multiple values from a radio button group

本文关键字:单选按钮      更新时间:2023-09-26

我很好奇从一组单选按钮传递值时的最佳做法是什么。特别是如果一个单选按钮可以有多个值。

在我的例子中,假设有人想在聚会上吃两种食物,1)蛋糕和2)蛋糕和华夫饼。

HTML:

<input id="Cake" name="food" type="radio" value="true">
<input id="Both" name="food" type="radio" value="true,false" checked="checked">

JavaScript(jQuery):

var testString = $('input[name=food]:checked').val();

对于最后一个值——"true,false",我将拆分字符串以获得一个字符串数组——尽管最后我真的只需要实际的布尔值——true,false。这意味着我必须编写另一个函数来解析字符串并将其转换为布尔值。

最后,传递"真、假"这两个值值得吗?还是我应该考虑只说"全部",因为最终我还是要清理这些值?在后一种情况下,将"all"转换为true、false数组,并将其传递给后端javascript函数。

好吧,你可以使用"all"技术,也可以像这样转换字符串数组:

var output = $.map(arrayOfStringsHere, function(item, index) {
    return Boolean(item);
});
// output should == array of booleans

试试看。甚至可以按照复选框的建议。也许会更好。