-1

我有一个带有 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”。一旦我选择其中一个,相应的文件将显示在网页的下方。我不知道如何制作这样的下拉菜单。

4

1 回答 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 回答