首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单提交后,动态受抚养人下拉列表中没有选项

表单提交后,动态受抚养人下拉列表中没有选项
EN

Stack Overflow用户
提问于 2017-06-24 14:08:24
回答 1查看 120关注 0票数 1

因此,我有一个表单,其中包括两个下拉列表:id="dd-1" & id="dd-2"

根据id="dd-2"选择从数据库中创建的id="dd-1"选项;我正在使用id="dd-1"中的onChange=getChildOf(this.value)来实现这一点。

当用户在id="dd-1"中选择一个选项时,我运行一个ajax函数,它将id="dd-1"的值传递给另一个PHP页面,在该页面中运行MySqli查询,然后更新id="dd-2"

到现在为止,一切都很好。

我需要的是:

  1. 记住id="dd-1"中的用户选择。DONE
  2. 根据提交的id="dd-2"值获取id="dd-1"选项。未完成

表单提交后,id="dd-2"根本不显示任何选项。因此,我必须再次更改id="dd-1"中的选择,以便触发ajax getChildOf(val)函数!

所以,我需要你的帮助,请帮我把第二件事做完。

FYI:

id="dd-1"选择下拉列表看起来类似于:

代码语言:javascript
复制
<select id="dd-1" name="dd-1" onChange="getChildOf(this.value)">
    <option value="1" <?php if(isset($_POST['dd-1'])&&$_POST['dd-1']=='1'){echo 'selected';}?> >Option 1</option>
    <option value="2" <?php if(isset($_POST['dd-1'])&&$_POST['dd-1']=='2'){echo 'selected';}?> >Option 2</option>
    <option value="3" <?php if(isset($_POST['dd-1'])&&$_POST['dd-1']=='3'){echo 'selected';}?> >Option 3</option>
</select>

id="dd-2"选择下拉列表看起来类似于:

代码语言:javascript
复制
<select id="dd-2" name="dd-2"></select>

ajax函数:

代码语言:javascript
复制
function getChildOf(val)
{
    $.ajax({
        type:"POST",
        url:"get_dd2_options.php",
        data: 'parentid='+val,
        success: function(data){

            $("#dd-2").html(data);
        }
    });
}

get_dd2_options.php页面看起来类似于:

代码语言:javascript
复制
<html>
<option value="-1">Please Select</option>
<?php
include_once('config.php');

// list all children
$q = mysqli_query($link, "SELECT * FROM table WHERE id = '".$_POST['parentid']."'");

while($r = mysqli_fetch_assoc($q))
{
    $id     = $r['id'];
    $name   = $r['name'];

    ?> <option value="<?=$id;?>" <?php if(isset($_POST['dd-2'])&&$_POST['dd-2']==$id){echo 'selected';}?> ><?=$name;?></option> <?php
} 
?>  

EN

回答 1

Stack Overflow用户

发布于 2017-06-25 02:26:39

您有两个选项,我不知道哪一个最好,因为我没有查看完整的代码库。

选项1:在post之后,当您检查要设置的dd1时,在php中添加另一个dd2检查。

代码语言:javascript
复制
<?php 
if (isset($_POST['dd-1']) {
    /* populate dd-2 based on dd-1 value*/
}
?>

选项2:添加将dd2填充到页面加载的逻辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44737248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档