如何在php(Laravel)中使用动态ListBoxes

时间:2015-07-22 07:06:51

标签: php jquery laravel scripting listbox

实际上我正在开发一个网站,我想将订单分配给送货人员和区域或面包师,他将从那里获取送货材料。 enter image description here

上图显示了区域名称和面包师,送货人员将从哪里取货。因此,对于每个订单(行),我想创建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的编写脚本。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

您需要更改

$("#1").change(function ()

$(document).on('change',"#1",function()

在你的javascript代码中