<select>
<option value="one">First Text</option>
<option value="two">Second Text</option>
</select>
创建一个下拉菜单。由于您希望它动态分配值,您可以这样做:
foreach (myArray as row) {
echo '<option value='" . $row['value'] . '">' . $row['text'] . '</option>';
}
echo '</select>';
通过将选择发布到将从文件中读取的页面来动态创建菜单......很痛苦。
我要做的是使用 jQuery(特别是 ajax)从文件中读取。
假设你有:
<?php
$cities = array(
'IL' => array( 'Chicago', 'Naperville', 'Decatur', 'Saint Charles' ),
'IN' => array( 'Gary', 'Miller', 'Portage', 'Merrillville' )
);
print json_encode( $cities[ $_POST[ 'selection' ] ] );
exit;
?>
您使用 json_encode 函数在您的页面中传递打印(或回显)结果。
你的 javascript 会是这样的:
$(document).ready(function() {
$('#selection').change(function() {
$.post(
'some-url.php',
{
'selection':$('#selection').val()
},
function(data, textStatus) {
$.each(data, function(index, value) {
$('#city').append('<option value="' + value + '">' + value + '</option>');
});
},
'json'
);
});
});
这是一个相当不错的教程:http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/ 和 http://www.9lessons.info/2010/08/dynamic-dependent-select-box-using.html
还有一个例子:http://jsfiddle.net/vjkaG/ 和 http://jsfiddle.net/g7wzT/1/