我有一个带有 PHP 的 Web 服务器,并且我需要能够选择某些文件夹下的一些文件。文件名的格式为“YYYY-MM-DD_XXXXXXX.php”。Y 代表年,M 代表月,D 代表日期。我需要做的是制作一个动态下拉菜单,其中包含文件夹中某个文件的日期。例如。有两个文件:2013-01-01_xxxxx.php 和 2013-01-07_xxxx.php,这样下拉列表中应该有两个选项可用,分别是“2013-01-01”和“2013-01- 07”。一旦我选择其中一个,相应的文件将显示在网页的下方。我不知道如何制作这样的下拉菜单。
问问题
1436 次
1 回答
2
<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/动态相关选择框using.html
和一个例子: http: //jsfiddle.net/vjkaG/ 和 http://jsfiddle.net/g7wzT/1/
于 2013-01-07T20:28:41.240 回答