Я ранее разместил этот вопрос как jquery/javascript: массивы - jquery/javascript: arrays. Но, так как я полный новичок, я сформулировал вопрос неправильно и не понял ответов либо .... :(jquery arrays intersect
После того, как я не смог реализовать данные решения, я немного осмотрелся, узнал, что я нужно сравнить 6 массивов возможных вариантов и пересекают их, наконец, отображать только пересекающиеся значения
Так что это, Hopely, более четкую формулировку:.
У меня есть 6 вопросов/6 групп переключателей для ответов. Каждый ответ имеет несколько значений (они могут варьироваться от 1 до 38 элементов, которые будут отображаться в окончательном «совете»). Я собираю значения проверенных радиостанций в массивах. Я получаю 6 массивов s.
Как мне пересечь 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
@mplungjan: когда я изменяю var valArr1 = $ ('# vraag1 input: radio: checked'). Checkboxval(); to var valArr1 = $ ('# vraag1 input: radio: checked'). Val(); он не возвращает никаких значений – tschardak
К сожалению, у вас есть функция checkboxval, когда я прокомментировал ???? Если так, то я плохой. Однако он фильтрует, и поэтому вызов ему так, по крайней мере, является ненужным ненужным – mplungjan