【发布时间】:2011-04-29 13:03:57
【问题描述】:
我之前将此问题发布为 jquery/javascript:arrays - jquery/javascript: arrays。 但是由于我是一个完整的初学者,所以我提出了错误的问题并且也没有理解答案.... :(
在未能实施给定的解决方案后,我又环顾四周,发现我需要比较 6 个可能的选择数组并将它们相交以最终仅显示重叠的值。
所以,希望这是一个更清晰的表述:
我有 6 个问题/6 组单选按钮用于回答。每个答案都有多个值(它们的范围可以从 1 到 38 个项目显示在最终的“建议”中)。我正在数组中收集检查过的收音机的值。我得到6个数组。
如何使 6 个数组相交以得到一个最终数组,该数组仅包含来自所有 6 个选项的相交值? 如何将这个最终数组的项目转换为选择器?
有人可以帮帮我吗? 谢谢!
我的脚本现在看起来像:
(function($){
$.fn.checkboxval = function(){
var outArr = [];
this.filter(':checked').each(function(){
outArr.push(this.getAttribute("value"));
});
return outArr;
};
})
(jQuery);
$(function(){
$('#link').click(function(){
var valArr1 = $('#vraag1 input:radio:checked').checkboxval();
var valArr2 = $('#vraag2 input:radio:checked').checkboxval();
var valArr3 = $('#vraag3 input:radio:checked').checkboxval();
var valArr4 = $('#vraag4 input:radio:checked').checkboxval();
var valArr5 = $('#vraag5 input:radio:checked').checkboxval();
var valArr6 = $('#vraag6 input:radio:checked').checkboxval();
// var newArray = $.merge(valArr1, valArr2, valArr3, valArr4, valArr5, valArr6); <- test to see if I can merge them
// $('#output').text(newArray.join(',')); <- test to see if I can join them
//$("#output").html($("#output").html().replace(/,/gi, ',#diet')); <- test to see if I can append text so it looks like the selectors of divs I need to display later
// return false;
});
});
我的表单/输入看起来像:
<input name="vraag1" type="radio" value="1a,4,5,12,13,17a,18,19,22,23,24,26,27,28,29,30,33,38,6" class="radio advice" id="vraag1-0" /><label for="vraag1-0">ja</label>
<br />
<input name="vraag1" type="radio" value="1b,1,2,3,7,8,11,9,14,15,16,17,20,21,25,31,34,35,36,37,10,32" class="radio advice" id="vraag1-1" /><label for="vraag1-1">nee</label>
<br />
<input name="vraag1" type="radio" value="1c,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,17a,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38" class="radio advice" id="vraag1-2" /><label for="vraag1-2">maakt mij niet uit</label>
【问题讨论】:
-
这不是 $('#vraagX input:radio:checked').val();而不是 checkboxval() ?
-
@mplungjan: 当我改变 var valArr1 = $('#vraag1 input:radio:checked').checkboxval();到 var valArr1 = $('#vraag1 input:radio:checked').val();它不返回任何值
-
对不起,我评论的时候你有checkboxval功能吗????如果是这样我的坏。但是它会过滤,所以对它的调用也是如此,所以至少这是一种浪费
-
没关系。是的,我同意你的看法,但由于缺乏更好的知识,我把它放在一起。关于如何相交 6 个数组的任何提示?谢谢。
标签: javascript jquery arrays forms intersect