php - 从服务器目录填充选择 PHP jQuery AJAX

标签 php jquery html ajax directory

我的服务器上有一个如下所示的文件结构:

enter image description here

我的问题相对复杂:如何填充<select> html 标签逐渐从服务器的子文件的内容中获取。

例如,下面我有 3 <select>镜像上面显示的文件结构的标签。当第一个选择更改时,jQuery 应该使用 AJAX 和 PHP 找到服务器上的该目录,并将所有子文件列出到第二个 <select> 中。 。单击第二个时,应列出该文件夹的所有子文件,依此类推。最终我想要 5 <select>标签。

enter image description here

我认为最好使用 jQuery 来实现这一点,它可以检测选择中的更改:

$("select").change(function() {
        var selected = $(this).children("option:selected").text();
});

将该变量发送到 AJAX,AJAX 要求 PHP 文件返回该文件夹的子文件数组,并使用该数组中的数据填充下一个选择。我不太有信心的是 PHP。

我尝试过的:查看 TreeView系统 - 不适合。尝试修改TreeView与选择一起工作的系统 - 无结果!也许有人可以尝试修改我链接的链接?

提前致谢,我们将一如既往地感谢任何帮助!

最佳答案

使用文件夹目录填充选择选项值:

<div class="selects">
    <select name="folder1">
        <option value="folder1">folder1</option>
        <option value="folder2">folder2</option>
        <option value="folder3">folder3</option>
    </select>
</div>

jQuery:

// Use live. Because the other selects will be filled with jquery.
$("select").live("change", function() {
    var folder = $(this).val();
    var select_id = $(this).attr("name").replace('folder', '');

    $.ajax({
        url: 'ajax.php',
        type: "POST",
        data: {"folder": folder},
        success: function(data) {
            var select = $("<select>");

            select_id++;

            select.attr("name", "folder"+select_id).append(data);
            $(".selects").append(select);
        }
    });
});

PHP:

<?php
    $shared = "some/path/to/shared/folders/";
    $folder = $_POST['folder'];

    $scan = scandir($shared.$folder);

    $bad = array(".", "..", ".DS_Store", "_notes", "Thumbs.db");

    $scan = array_diff($scan, $bad);

    foreach ($scan as $val)
    {
        if (is_dir($shared.$folder.'/'.$val))
            echo '<option value="'.$folder.'/'.$val.'">'.$val.'</option>';
    }
?>

我没有测试它,可能会有一些拼写错误,但这应该可以解决问题

关于php - 从服务器目录填充选择 PHP jQuery AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10547038/

相关文章:

javascript - 如何检查内部div中的任何span元素是否具有空值

javascript - jQuery .toggle 不适用于 CSS 交集

javascript - Php magento SESSION 变量在 php 内执行 javascript 代码之前未设置

php - CakePHP 分页和获取参数

javascript - Jquery - 除 Id 和 Class 外使用的 Html 选择器

asp.net - Chrome/Safari : jQuery works in . htm 但不在 .aspx 中

html - 将文本对齐到红色圆圈的中心,在 HTML 中其下方有一个图标

javascript - golang 模板中的 src 属性

php - .htaccess seo 重写

php - php 中的正则表达式-长度有限的字母和数字