2011-04-29 13 views
0
我用笨

,我使用JQuery有兩個下拉菜單設置平變化問題, 這裏是代碼:如何設置的onchange兩個下拉的jQuery和笨

<? 
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段。 並基於該段,一些查詢將運行,然後生成第二個下拉列表。

問題是當選擇第二個下拉菜單時,頁面將「未定義」添加爲新的分段。我認爲該頁面無法獲取第二個下拉列表中的選定值。

請幫忙。

回答

0

有一個「缺少在這一行:

$html = '<select name="'.$name.'" id="'.$name.'"">'; 

也將是明智的,包裝的價值屬性,如:

$html .= '<option value="'.$row[$name].'">'.$row[$name].'</option>'; 
+0

謝謝你提醒我那你認爲第二個下拉問題給出了「未定義」的結果? – seeai 2011-05-01 06:18:11

0

那麼就很難知道你是否曾經真正選擇一個元素第一次圍繞。

if ($row[$name] == $code) { 
    $html .= '<option value='.$row[$name].' selected>'.$row[$name].'</option>'; 
} 

如果你沒有傳遞一個值到$ code或有我在這裏沒有匹配,你不會有一個匹配你的jQuery「:selected」的有效匹配。留下你一個「未定義」的值。

$("#actype :selected").val() 

$("#acreg :selected").val() 

如果你有一個比賽,它仍然無法正常工作試着改變你的默認選擇到選定=「選擇」

$html .= '<option value='.$row[$name].' selected="selected">'.$row[$name].'</option>';