表单提交后,动态相关下拉列表中没有选项

时间:2017-06-24 14:08:24

标签: javascript php jquery mysql ajax

所以,我有一个包含两个下拉列表的表单:id="dd-1"& id="dd-2"

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

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

到目前为止,一切都很好。

我需要的是:

  1. 请记住id="dd-2"中的用户选择。的完成
  2. 根据id="dd-1"提交的值获取id="dd-2"个选项。 未完成
  3. 表单提交后,id="dd-1"根本没有显示任何选项。所以,我必须再次更改id="dd-2"中的选择,以便id="dd-1" getChildOf(val)函数被触发!

    所以,我需要你的帮助才能完成#2。

    供参考:

    ajax选择下拉列表看起来像是:

    id="dd-1"

    <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"

    <select id="dd-2" name="dd-2"></select> 功能:

    ajax

    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

1 个答案:

答案 0 :(得分:0)

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

选项1:在检查dd1设置后发布后,在php中添加另一个dd2检查。

<?php 
if (isset($_POST['dd-1']) {
    /* populate dd-2 based on dd-1 value*/
}
?>

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