php:具有搜索功能的数组中的多个选择框
我有一个选择框阵列,它将输出多个选择框,具体取决于我想要显示多少个选择框。 我选择该选项时的功能是使用ajax在我的数据库中搜索房间的详细信息。 搜索功能的作品,但只在第一个选择框中,而不是我的选择框的其余部分。 这是mypage.php
<select name = "room[]" id = "search">
<option value = "none">←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