私はデータベースからのマーカーを表示しているgmaps.jsマップのビューを持っています。私はメーカーによってフィルタを追加しました。 HTML: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
ロードマーカーマップ上。だから私がボタンをクリックすると、フィルターメソッドのためのajaxコールが呼び出されます:
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>
を私はチェックボックスからデータを収集する必要がありますどのように...さらに
をアリ得ることができませんか?私はすべての価値に対して別個のIDを持つべきですか?
フィルタメソッドを変更して値の配列を取得するにはどうすればよいですか(チェックするチェックボックスの数はわかりません)
。例:manufacturer [] –