javascript - 如何从数据库填充下拉菜单项

标签 javascript php

嗨,我有 2 个下拉菜单,我想用第一个下拉菜单项相关来填充我的第二个下拉菜单项。我的意思是我的第一个下拉菜单项是 Apple、Samsung、HTC、Nokia 等。当我选择由 iPhone 6s、iPhone 5s、iPhone 4s 等填充的 Apple 下拉菜单项时。我无法用英语很好地解释它。抱歉我的英语不好。我从数据库填充了第一个下拉菜单

function selectFactor(){
    $result = @mysql_query("SELECT * from Factors");
    while($record = @mysql_fetch_array($result)){
        echo '<option value="'.$record['FactorID'].'">'.$record['FactorName'].'</option>';
    }
}

并在html文件中显示结果

<select name="dropdown" id="dropdown" onchange="bla()">
<?php selectFactor(); ?>
</select>

我只是用它尝试一些东西 bla bla bla...

function bla(){
    var e = document.getElementById("dropdown");
    var elementValue = e.options[e.selectedIndex].value;
    console.log(elementValue);
}

当第一个索引更改时,如何填充第二个下拉菜单? 已更新!

<?php
$name = $_POST['selectedItem'];
function selectSum(){
$result = @mysql_query("SELECT * from factor INNER JOIN sumd ON factor.factorID=model.factorID where factorNer='$name'");
    while($record = @mysql_fetch_array($result)){
        echo '<option value="'.$record['factorID'].'">'.$record['modelNer'].'</option>';
    }
}
?>

最佳答案

您需要在数据库中查询所选项目: get_data.php 是您必须创建的文件,您将在其中查询数据库。

你不需要这个:

onchange="bla()

只是一个ajax调用:

$(document).ready(function(){
   $('#dropdown').change(function(){
       var selectedItem = $(this).val()  //your item id

        $.ajax({
            url: 'get_data.php',
            data : selectedItem,
            dataType: "json",
            type : 'POST',
        })
        .done(function(data) {
             //put the returned data in the second selectbox
            var output = '';
            $.each(data, function(i, el){
                output += '<option value="'+el.name+'">'+el.name+'</option>'
           //where 'name' is at moment the placeholder of your returned data   
            })
            $('#dropdown2').html(output)
        })
        .fail(function() {
            console.log("error");
        })
   })
})

如果您准备好查询,但不知道如何将返回的数据放入第二个选择框,我也会帮助您。

注意:这是您必须填充的第二个选择,您需要在其中提供唯一的 ID:

<select name="dropdown2" id="dropdown2">
    //here will be the output of the available options
</select>

一个重要通知:

我建议你(当你有这个工作时)切换到 mysqli 并且不再使用 mysql。这是一个安全问题,您可能容易受到 mysql 注入(inject)的攻击!!

关于javascript - 如何从数据库填充下拉菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34160412/

相关文章:

php - 使用元查询的自定义搜索

javascript - 如何在套接字io中设置访问控制允许来源

php - 从字符串php中删除度数符号

javascript - 如何在选择选项中显示从数据库中获取的值

javascript - 侧边栏推送内容

php - 我的 SEO 公司是否试图破坏我的网站?

php - 如何解决 XAMPP 中的禁止访问问题

php - php 脚本安全中的 mysqldump

Javascript 解析器 Google 日历 JSON Feed 与重复事件

javascript - jquery 等待多个完成事件