关于两个多个下拉菜单的问题

时间:2018-12-27 10:33:24

标签: php jquery

https://i.stack.imgur.com/2O2Ug.png

当我更改课程名称时,第一行仅更改该行的父主题 如何做到这一点,请提意见

第一个课程名称选择框的代码

<select class="form-control select2"  onChange="getval(this.value)"; id="course_id1" name="course_id[]" data-live-search="true" >
                            <option value="" selected="selected"> Select Course Name</option>
                                <?php
                                            $sql = "SELECT * from course_master";
                                            $result = $connect->query($sql); 
                                             while($row_pt = $result->fetch_array()) 
                                                 { 

                                                     ?>
                                              <option value="<?php echo $row_pt['course_id']; ?>" ><?php echo $row_pt['course_name']; ?></option>

                                            <?php 
                                                 }
                                 ?>
                     </select >

当我从下拉列表中选择课程名称时,第二选择框更改该行的父ID

<select class="form-control select2" id="parent_id" name="parent_id[]" data-live-search="true" ></select>

更改课程名称时的调用功能

function getval(val)
        {


                $.ajax({
                type: "POST",
                url: "get.php",
                data: {parent_id:val,syllabus_id:syllabus_id},
                success: function(data)
                {
                    $("#parent_id").html(data);

                }
            });
        }

get.php

<?php
    include('connection/core.php');

    if(isset($_SESSION['userId']))
     {
        if (!empty($_POST["parent_id"])) 
        {
            $query_sql = "SELECT syllabus_id,topic_name FROM syllabus WHERE syllabus_id!='". $_POST["syllabus_id"]."' AND course_id ='" .$_POST["parent_id"] ."'";
            $results = $connect->query($query_sql);

            echo $query_sql;
            ?>
            <option value="0" selected> Parent </option>
        <?php
            foreach ($results as $p) 
            {
            ?> 
        <option value="<?php echo $p["syllabus_id"];  ?>"><?php echo $p["topic_name"]; ?></option>

            <?php
            }
        }
     }
    ?>

1 个答案:

答案 0 :(得分:0)

为第一行添加以下代码。 例如。

<select class="form-control select2 selectCourse" data-id="1" id="course_id_1" name="course_id_1[]" data-live-search="true" >

并为您的父主题名称添加以下内容。

<select class="form-control select2" id="parent_id_1" name="parent_id_1[]" data-live-search="true"></select>

现在,当您在HTML中添加新的动态行时,然后在selectCourseselect box的{​​{1}}中为每个动态添加的行添加course name作为类名。 / p>

例如。 对于data-id="1",添加以下内容。

course name

对于<select class="form-control select2 selectCourse" data-id="2" id="course_id_2" name="course_id_2[]" data-live-search="true" > ,添加如下内容。

parent topic name

在脚本中添加如下代码。

<select class="form-control select2" id="parent_id_2" name="parent_id_2[]" data-live-search="true"></select>