У меня есть вид с картой gmaps.js, отображающей маркеры из базы данных. Я добавил фильтр производителями. HTML:Как отправить unknow количество переменных в контроллер в CodeIgniter?
<select id="filtrs-1">
<option value="all">All</option>
<option value="manufacturer1">Manufacturer1</option>
<option value="manufacturer2">Manufacturer2</option>
<option value="manufacturer3">Manufacturer3</option>
<option value="manufacturer4">Manufacturer4</option>
</select><br />
<button id="go-button" type="button">Click Me!</button>
и JQuery:
var puzzles = <?= json_encode($puzzles);?>;
var allMap;
$(document).ready(function(){
var allMap = new GMaps({
el: '#map',
zoom: 7,
lat: 37.4419,
lng: -122.1419
});
loadJsonMap(allMap, puzzles);
$('#go-button').click(function(){
var filtrs1 = $('#filtrs-1').val();
$.get('<?php echo base_url() ?>index.php/map/filter/' + filtrs1, function(response){
allMap.removeMarkers();
loadJsonMap(allMap, response);
});
});
});
где loadJsonMap
загружает маркеры на карте. Поэтому, когда я нажимаю на кнопку I GER АЯКС вызов для метода фильтра:
public function filter($man)
{
if ($man == 'all'){
$data = $this->puzzles_model->get_puzzleCoordinates();
}else{
$data = $this->puzzles_model->get_puzzlesByManufacturer($man);
}
header('Cache-Control: no-cache, must-revalidate');
header('Content-Type: application/json');
echo json_encode($data);
}
и карту, если фильтруется производителя! Я новичок в jquery, поэтому я действительно гордился собой. Однако я застрял на следующем шаге. Пользователь должен иметь возможность фильтровать более чем одного производителя, поэтому я изменил HTML:
<button id="go-button" type="button">Click Me!</button>
<div class="multiselect">
<label><input type="checkbox" value="all" />All</label>
<label><input type="checkbox" value="manufacturer1" />manufacturer1</label>
<label><input type="checkbox" value="manufacturer2" />manufacturer2</label>
<label><input type="checkbox" value="manufacturer3" />manufacturer3</label>
<label><input type="checkbox" value="manufacturer4" />manufacturer4</label>
</div>
, но не может получить муравей дальше ...
Как я должен собрать данные от флажка? Должен ли я иметь отдельный идентификатор для каждого значения?
Как мне изменить свой фильтр, чтобы он мог получить массив значений (проблема в том, что я не знаю, сколько флажков будет проверяться)?
Вы должны использовать массив в именах флажком. Пример: производитель [] –