2008-11-16 61 views

回答

2

的功能,但不太優雅的解決方案如下。根據先選擇美國(美國)還是加拿大(CA),這是填充州/省選擇列表的一種方式。美國和美國國家在默認情況下是可見的。這種方法依賴於簡單的類命名約定來根據父母國家對州選項進行分組。

的JS:

$('#s_country').change(function() { 
    $('#s_state .state_CA').hide(); 
    $('#s_state .state_US').hide(); 
    $('#s_state').val(''); 
    var value = $.trim($("#s_country").val()); 
    $('#s_state').show(); 
    $('#s_state .state_'+ value).show(); 
}); 

的HTML:

<select name="s_state" id="s_state"> 
<option value="none"></option> 
<? foreach ($states_us as $v): 
    $selected = ($v->state_code == $current_state)?'selected="selected"':''; ?> 
    <option class="state_US" value="<?=$v->state_code?>" <?=$selected?> ><?=ucfirst($v->state)?></option> 
<? endforeach;?> 
<? foreach ($states_ca as $v): 
    $selected = ($v->state_code == set_value('s_state'))?'selected="selected"':'';       ?> 
    <option class="state_CA" value="<?=$v->state_code?>" <?=$selected;?>><?=ucfirst($v->state)?></option> 
<? endforeach; ?> 
</select> 

希望這有助於。

相關問題