я получаю массив какПроверить несколько флажков с помощью JQuery с двумерным массивом
var favorite = {};
$.each($(".list input[type='checkbox']:checked"), function(){
if(typeof(favorite[$(this).attr("name")]) == 'undefined'){
favorite[$(this).attr("name")] = [];
}
favorite[$(this).attr("name")].push($(this).val());
});
С одномерный массив я могу сделать:
$('#list [value="'+favorite.join('"],[value="')+'"]').prop('checked',true);
Который производит селектор, как:
$('#list [value="1"],[value="3"],[value="4"],[value="5"]')
Но как создать селектор из двухмерного массива вроде:
$('#list [Name="Name[]",value="1"],[Name="Name[]",value="3"],[Name="Name[]",value="4"],[Name="Model[]",value="5"]')
Мне нужно выбрать все флажки, которые находятся в избранном массиве. Потому что после того, как АЯКС сообщения я потерять все проверило Флажки что-то вроде этого:
$(function() {
$('.list input').change(function(e){
//e.preventDefault();
var favorite = {};
$.each($(".list input[type='checkbox']:checked"), function(){
if(typeof(favorite[$(this).attr("name")]) == 'undefined'){
favorite[$(this).attr("name")] = [];
}
favorite[$(this).attr("name")].push($(this).val());
});
var str;
str = $.param(favorite);
$.ajax({
url:'/Search.asp',
type:'POST',
data:str,
dataType:'text',
success: function(data)
{
$("#ExSearchForm").html(data);
$("#ExSearchForm").find('[value=' + favorite.join('], [value=') + ']').prop("checked", true);
}
});
});
});
кода HTML разметка
<div class="list">
<div class="nomination">Make</div>
<div class="name">
<label class='selected-car'><input type='checkbox' name='Make[]' value='*FAKE*' /><span>*FAKE*<i>0</i></span></label>
<label class='selected-car'><input type='checkbox' name='Make[]' value='AIXAM' /><span>AIXAM<i>2</i></span></label>
<label class='selected-car'><input type='checkbox' name='Make[]' value='ALFA ROMEO' /><span>ALFA ROMEO<i>106</i></span></label>
<label class='selected-car'><input type='checkbox' name='Make[]' value='ALPINA' /><span>ALPINA<i>1</i></span></label>
<label class='selected-car'><input type='checkbox' name='Make[]' value='AUDI' /><span>AUDI<i>686</i></span></label>
<label class='selected-car'><input type='checkbox' name='Make[]' value='BMW' /><span>BMW<i>557</i></span></label>
....
Я не думаю, что последний селектор действителен. Это не работает – AmmarCSE
Я уверен, что это * много * сложнее, чем нужно. Можете ли вы описать, что вы пытаетесь достичь, чтобы мы могли показать вам более эффективный способ. –
$ (". List input [type = 'checkbox']: checked") уже возвращает ваш отмеченный вход как объект jquery, , сохраняя его в var и используем позже $ ("# ExSearchForm"). Find (myvar). prop ("checked", true); должен делать трюк – VeNoMiS