php:具有搜索功能的数组中的多个选择框

我有一个选择框阵列,它将输出多个选择框,具体取决于我想要显示多少个选择框。 我选择该选项时的功能是使用ajax在我的数据库中搜索房间的详细信息。 搜索功能的作品,但只在第一个选择框中,而不是我的选择框的其余部分。 这是mypage.php

<select name = "room[]" id = "search">
  <option value = "none">&larr;Room</option>
  <?php
    $find_room = DB::getInstance()->query("SELECT * FROM tbl_room WHERE room_status =  'ENABLED'");
if($find_room->count()){
   foreach($find_room->results() as $find_room){

    ?>
     <option value = "<?php echo $find_room->room_id; ?>"><?php echo $find_room->room_number; ?>
     </option>
 <?php

    }
  } 
  ?>
</select>

这是我的阿贾克斯

<script>    
    $(document).ready(function(){

    $("#search").change(function(){
        var search = $("#search").val();
        $.ajax({
            type:"POST",
            url:"programhead_ajaxroom.php",
            data:{search:search},
            success:function(res){
                $("#subjects").html(res);
            }

        });
    });
 });
</script>

这是我的ajaxpage

if(isset($_POST['search'])){
 functions right here are select querys into table(this is working)
}

我非常感谢你的帮助。


尝试使用委托事件的语法,因为您正在动态更改HTML。 使用class属性来定义change事件并在函数内部使用this ,因为您有许多选择框。

$(document).on("change",".search",function(){
    ele = $(this);
    var search = ele.val();
    $.ajax({
        type:"POST",
        url:"programhead_ajaxroom.php",
        data:{search:search},
        success:function(res){
            ele.html(res);
        }

    });
});

你也必须在select html中使用类属性,因为ID应该是唯一的。

<select name = "room[]" id = "search" class="search">

哦,我错过了循环每一个元素的数组

 $(document).on("change","select[name^=search]",function(){
        check_obj = document.getElementsByName("search[]");
        for (i=0; i<check_obj.length; i++)
        {
            if (check_obj[i].value == "none")
            {}
            else{
                var search= check_obj[i].value;
            }
        }
        $.ajax({
            type:"POST",
            url:"programhead_ajaxroom.php",
            data:{search:search},
            success:function(res){
                $("#subjects").html(res);
            }

            });

    });
链接地址: http://www.djcxy.com/p/36281.html

上一篇: php: multiple select box in a array with search function

下一篇: Dynamically populate the drop down for dynamically created elements in the form