javascript - 从第一个下拉列表中选择后,如何将 li 值填充到另一个下拉列表中?

标签 javascript php jquery html

我的问题是我可以获得 <li> 的值来 self 的数据库的标记,但我无法弄清楚如何使用它来使用 ajax 和 php 填充另一个下拉列表? (我不是要创建一个选择下拉菜单)

我有 2 个下拉列表,第一个下拉列表是选择电影,第二个下拉列表是选择日期。因此,当我选择 MOVIE 时,第二个下拉列表将填充我选择的 MOVIE 的日期。

我找到了一个使用 <select> 的解决方案标记和 <option>标签。但是,这并不能真正解决我的问题。我真正想做的是将图像添加到我的下拉列表中。

那么我如何使用 <ul> 来做到这一点?标记和 <li>下拉列表中的标记?

下面是我的代码:

HTML:

////////////////select movie//////////////////

          <div class="select_movie" style="float:left;">
                <div class="nice-select dropdown-toggle" id="selectmovie"  data-toggle="dropdown" tabindex="0" style="margin-left: 200px;  margin-top: 29px;"><span class="current">Select Movie</span>
                    <ul class="dropdown-menu scrollable-menu ul_movie" id="m_movie" >
                        <?php
                        $sql = "SELECT id,name,date,time,image FROM movie";
                        $res = mysqli_query($conn, $sql);
                        if(mysqli_num_rows($res) > 0) {
                            while($row = mysqli_fetch_object($res)) {
                                echo '<li data-value="' . $row->id . '"class="option"  style="margin-top:10px; margin-bottom:10px;"><img src="' . $row->image . '" style="width:50px; height:80px; margin-right:10px;">' . $row->name . '</li>';

                            }
                        }

                        ?>
                    </ul>
                </div>
         </div>

////////////////select date//////////////////

  <div class="select_date" style="float:left">
                <div class="nice-select dropdown-toggle" data-toggle="dropdown" tabindex="0" style="margin-left: 150px;  margin-top: 29px;"><span class="current">Select Date</span>
                    <ul class="dropdown-menu scrollable-menu ul_date" id="selectdate"  >

                    </ul>
                </div>
            </div>

Javascript:

<script>
    $(document).on('click', '.ul_movie li', function () {
//        alert('movie');
        var movie_id = $(this).attr('data-value');
        console.log(movie_id)
        if(movie_id !== "") {
            $.ajax({
                url:"get_datetime.php",
                data:{m_id:movie_id},
                type:'POST',
                success:function(response) {
//                    var resp = $.trim(response);
                    $('.ul_date li').html(response);
                }
            });
        }
        else {
            $('.ul_date li').html("<li value=''>------- Select --------</li>");
            alert("tghhh") ;
        }
    });
</script>

PHP:

 <?php include("database/conn.php"); ?>
 <?php
 if(isset($_POST['m_id'])) {
 $sql = "select `id`,`date` from movie where 
`id`='".mysqli_real_escape_string($conn, $_POST['m_id'])."'";
$res = mysqli_query($conn, $sql);
//to test what value given
echo "<option value=''>".$_POST['m_id']."</option>";
if(mysqli_num_rows($res) > 0) {
    echo "<option value=''>------- Select --------</option>";
    while($row = mysqli_fetch_object($res)) {
 //            echo "<li data-value='" . $row->id . '"class="option" >' . $row->date . '</li>';

        echo "<li data-value='".$row->id."' class='option'>".$row->date."</li>";
    }
}
else{
    echo "<option value=''>No showing time</option>";
}
} else {
header('location: ./');
 }
 ?>

最佳答案

使用 $('#selectdate').html(response); 而不是 $('.ul_date li').html(response);

关于javascript - 从第一个下拉列表中选择后,如何将 li 值填充到另一个下拉列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46909047/

相关文章:

javascript - 我试图在单击的图像淡出后显示图像

javascript - removeEventListener() 不生效

javascript - Babel/Rollup 错误转译和捆绑 ES2017

javascript - 为什么 .html() 方法不加载元素中的数据?

php - 我的 HTTP 重定向有什么问题?

jquery - 我应该使用 .live(...) 吗?

javascript - 为什么我无法在 Bootstrap 工具提示中显示图像?

javascript - 在像素高度滚动时淡出

php - 单击提交按钮时,保留并传递在 javascript 中创建的动态生成的 html 表到 php

PHP header 位置重定向在 iPhone 上不起作用