在php中创建两个相关的选择框

时间:2018-04-09 20:34:09

标签: php

我正在尝试在php中创建两个相关的选择框。但它无法正常工作..我正在尝试从我的表名地址中检索数据,其中包含两列区< / strong>和地方 ..fro 地区第一个选择框正在运行,但由于第二个选择框依赖于第一个选择框,因此必须存在导致第二个选择框的任何问题选择框无法正常工作。因此,它不会检索任何数据..

这是我的代码页面practice.php

    'supportsCredentials' => true,
    'allowedOrigins' => ["localhost:4200"],
    'allowedHeaders' => ['*'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,

这是我在页面fetch_sate.php上的PHP代码

php artisan config:clear

3 个答案:

答案 0 :(得分:0)

你应该改变

$('#place').html(data);

 $('#place').find('option').remove().append(data);

将删除所有现有选项并添加新选项。您还需要更改此行:

$output = '<option value="'.$row["place"].'">'.$row["place"].'</option>';

到此:

$output .= '<option value="'.$row["place"].'">'.$row["place"].'</option>';

这样您就不会覆盖除最后一个选项之外的所有选项。

答案 1 :(得分:0)

如果你想使用post,那么参数是类型而不是方法

尝试使用如下的onchange事件:

在practice.php中:

<select name="district" id="district" onchange="get_state(this.value);">
        <option value="">Select District</option>
        <?php echo load_district(); ?>
    </select>

更正ajax语法如下:

<script>
function get_state(district_id)
{
    $.ajax({
            url:"fetch_state.php",
            type:"POST",
            data:{districtID:district_id},
            success:function(data){
                $('#place').html(data);
            }
        });
}
</script>

答案 2 :(得分:0)

请在选项值中传递地区ID:

 while($row = mysqli_fetch_array($result)){
        $output .= '<option 
        value="'.$row["district"].'">'.$row["district"].'</option>';
   }