私は CodeIgniter を使用しており、JQuery を使用して 2 つのドロップダウンで onchange を設定する際に質問があります。コードは次のとおりです。
<?
function generateSelect($name = '', $options = array(), $code) {
$html = '<select name="'.$name.' id="'.$name.'"">';
foreach ($options->result_array() as $row) {
if ($row[$name] == $code) {
$html .= '<option value='.$row[$name].' selected>'.$row[$name].'</option>';
} else {
$html .= '<option value='.$row[$name].'>'.$row[$name].'</option>';
}
}
$html .= '</select>';
return $html;
}
echo '<div id="actype"><table cellpadding=2 cellspacing=2 border=1><tr><td>AC TYPE</td><td>'.generateSelect('actype', $query_1, $actype).'</td>';
echo '<div id="acreg"><tr><td>AC REG</td><td>'.generateSelect('acreg', $query_2, $acreg).'</td></div></table>';
?>
そして、これはJavaScriptです:
<script type="text/javascript">
$(function() {
// navigate to page on click event
$('#actype').bind('change', function() { goToPage(); } );
$('#acreg').bind('change', function() { goToPage(); } );
});
function goToPage() {
location.href = 'http://localhost/CAMP/CI/index.php/blog/show_package/'+$("#actype :selected").val()+'/'+$("#acreg :selected").val();
}
</script>
したがって、最初のドロップダウンが選択されると、ページはいくつかの uri セグメントを追加します。そして、そのセグメントに基づいて、いくつかのクエリが実行され、2 番目のドロップダウンのリストが生成されます。
問題は、2 番目のドロップダウンを選択すると、ページで「未定義」が新しいセグメントとして追加されることです。2 番目のドロップダウンで選択した値をページが取得できないと思います。
助けてください。