Php 基于上一个下拉列表填充下拉列表

Php 基于上一个下拉列表填充下拉列表,php,javascript,Php,Javascript,目前,我有一个沿着这些线的设置,其中第二个下拉列表由以前的选择填充 问题是这些字段由数据库填充。因此,对于PHP,我会将选项下拉列表写为this,以便在提交后保留值 <option <?= $foobar == $foo->slug ? 'value="'.$foo->slug.'" selected="selected"' : 'value="'.$food->slug.'"'?>><?=$foo->name?></option

目前,我有一个沿着这些线的设置,其中第二个下拉列表由以前的选择填充

问题是这些字段由数据库填充。因此,对于PHP,我会将选项下拉列表写为this,以便在提交后保留值

<option <?= $foobar == $foo->slug ? 'value="'.$foo->slug.'" selected="selected"' : 'value="'.$food->slug.'"'?>><?=$foo->name?></option>
所以在正常的格式中

<option value="<?=$foo->id?>"><?=$foo->name?></option>

您可以将下拉菜单文本发布到操作页面,并使用以下方法捕获值:-

    $s_option = $_POST["somename"];
根据所选文本的值($s_选项),如下调用JS函数:-

function func1()
{
document.forms[0].somename.selectedIndex=0;
}

function func2()

{
document.forms[0].somename.selectedIndex=1;
}

等等……

我会用jquery/ajax/php来做,希望这有帮助:

<script type="text/javascript">
    $(document).ready(function(){
        $('#dropdown1').on('change', function(){
            var value = $(this).val();

            $.ajax({
                type: "post",
                url: "path_to_your.php",
                data: ({p : value}),
                datatype: "json",
                success: function(results){
                    $.each(results, function(v) {
                        $('#dropdown2').append($('<option>', {
                            value: v,
                            text: v
                        }));
                     });
                }

            });
        });

    });
</script>
</head>
<body>
<select id="dropdown1">
    <option>Select One..</option>
    <option value="something">Something</option>
<select>
<select id="dropdown2">

</select>
</body>

$(文档).ready(函数(){
$('#dropdown1')。在('change',function()上{
var值=$(this.val();
$.ajax({
类型:“post”,
url:“路径到你的.php”,
数据:({p:value}),
数据类型:“json”,
成功:功能(结果){
$。每个(结果、功能(v){
$('#dropdown2')。追加($(''){
值:v,
正文:v
}));
});
}
});
});
});
选择一个。。
某物

表单回发到表单页面,您询问如何在提交时获取所选下拉数据并将其保留回页面?
<script type="text/javascript">
    $(document).ready(function(){
        $('#dropdown1').on('change', function(){
            var value = $(this).val();

            $.ajax({
                type: "post",
                url: "path_to_your.php",
                data: ({p : value}),
                datatype: "json",
                success: function(results){
                    $.each(results, function(v) {
                        $('#dropdown2').append($('<option>', {
                            value: v,
                            text: v
                        }));
                     });
                }

            });
        });

    });
</script>
</head>
<body>
<select id="dropdown1">
    <option>Select One..</option>
    <option value="something">Something</option>
<select>
<select id="dropdown2">

</select>
</body>