实际上我正在开发一个网站,我想将订单分配给送货人员和区域或面包师,他将从那里获取送货材料。
上图显示了区域名称和面包师,送货人员将从哪里取货。因此,对于每个订单(行),我想创建2个列表框,并根据第一个列表框的选择,我想要更改第二个列表框的内容。
<select name="<?phpecho $CurrentOrders->comment_ID; ?>" id="courseid" style="width:100%;">
<option value="">-----Select Pick Up Area----</option>
<?php
$Area = DB::table('area')
->get();
foreach ($Area as $Area) {
?>
<option id="<?php echo $Area->area_id; ?>" value="<?php echo $Area->area_name; ?>"><?php $Area->area_name; ?></option>
<?php } ?>
</select>
</td>
上面的代码是动态创建列表框。
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#1").change(function () {
var id = $(this).val();
var dataString = 'id=' + id;
//alert(dataString);
$.ajax({
type: "POST",
url: "ajax_section.php",
//data: dataString,
data: {'id': id},
success: function (html){
$("#sectionid").html(html);
},
error: function () {
alert('Error');
}
});
});
});
</script>
以上脚本是根据第一个列表框的选择创建第二个listboc的内容。
<?php
if($_POST['id']) {
$id=$_POST['id'];
$sql=DB::table('vendors')
->where('vendors_area','=',$id)
->get();
$count=0;
foreach($sql as $sql) {
$count++;
}
if ($count > 0) {
echo "<option selected='selected'>---- Select Section Name ---- </option>";
foreach($sql as $sql) {
$id=$sql->vendors_id;
$data=$sql->vendors_name;
echo '<option value="'.$id.'">'.$data.'</option>';
}
}
}
?>
以上代码是根据第一个选择创建并显示第二个列表框的内容。
但是所有这些代码仅适用于1个列表框。它不能动态工作即使已经改变了我为第一个列表框(为#1)编写的所有listboxws的编写脚本。 请帮帮我。
答案 0 :(得分:0)
您需要更改
$("#1").change(function ()
到
$(document).on('change',"#1",function()
在你的javascript代码中