Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当只有一个选项时,如何调用或执行ajax的change函数_Javascript_Php_Ajax - Fatal编程技术网

Javascript 当只有一个选项时,如何调用或执行ajax的change函数

Javascript 当只有一个选项时,如何调用或执行ajax的change函数,javascript,php,ajax,Javascript,Php,Ajax,这是我的第一个下拉选项,基于此选择,我使用ajax将数据发送到下一个下拉列表 <select class="custom-select custom-select-sm mb-3" required="true" id="sel_block"> <option value="0">Select Block From Here</option> <?php // Fetch BLocks

这是我的第一个下拉选项,基于此选择,我使用ajax将数据发送到下一个下拉列表

<select class="custom-select custom-select-sm mb-3" required="true" id="sel_block">
  <option value="0">Select Block From Here</option>
             <?php 
            // Fetch BLocks
            $sql_block = "SELECT * FROM blocks WHERE area='$area' and region='$region'";
            $block_data = mysqli_query($con,$sql_block);
            while($row = mysqli_fetch_assoc($block_data) ){
                $blockid = $row['sno'];
                $block_name = $row['block_name'];

                // Option
                ?>
                <option value="<?=$blockid?>" ><?=$block_name?></option>
                <?php 
            }
            ?>
</select>
当从第一个下拉列表中选择一个选项时,第二个下拉列表中只有1个数据。我将如何调用change函数,以便获得第三个下拉列表的值

在处理response.length的成功回调中,除了检查值0外,还要检查长度是否为1,在Selu zone上触发手动更改事件:

如果len{…} }如果len==1,则为else{ $sel_zone.append+响应[0][name]+; $sel_zone.change; } 否则{ ... }
我试过。。但是,当我选择单值选项时,下一个下拉列表将变为空白。哦,我想您已经知道,您还必须为1项选择框执行渲染例程。就像你在else子句中所做的一样$选择区域。追加“未找到数据”;“`”我很快会更新我的答案。我做了。。如果len==1{var id=response[i]['id'];var name=response[i]['name'];var block_selected=response[i]['block_selected'];var block_area=response[i]['block_area'];var block_region=response[i]['block_region'];ifid==name{$sel_zone.append'No Data Found';}这是返回空白下拉列表在这个else子句中你还没有在循环中,所以不能使用我!更新了我的答案。谢谢@Mohsen Taleb…成功了..我被迫在我当前的项目中使用ajax..所以不清楚规则
<script type="text/javascript">
        $(document).ready(function(){

            $("#sel_block").change(function(){
                var blockid = $(this).val();

                $.ajax({
                    url: 'getZone.php',
                    type: 'post',
                    data: {block:blockid},
                    dataType: 'json',

                    success:function(response){

                        var len = response.length;

                        $("#sel_zone").empty();

                        if(len == 0){
                            $("#sel_zone").append('<option value="">No Data Found</option>');
                            var block_selected=response[i]['block_selected'];
                            $("#blockid").val(block_selected);
                        } else{
                            for( var i = 0; i<len; i++){
                                var id = response[i]['id'];
                                var name = response[i]['name'];
                                var block_selected = response[i]['block_selected'];
                                var block_area = response[i]['block_area'];
                                var block_region = response[i]['block_region'];
                                if(id==name)
                                {

                                     $("#sel_zone").append('<option value="">No Data Found</option>');

                                    }
                                else
                                {
                                     $("#sel_zone").append("<option value='"+id+"'>"+name+"</option>");

                                    }



                                $("#delete_block").attr("href", "delete_block.php?blockid="+block_selected+"&area="+block_area+"&region="+block_region+"");
                                $("#blockid").val(block_selected);
                            }
                        }   

                    }


                });
            });
            $("#sel_zone").change(function(){
                var zoneid = $(this).val();

                $.ajax({
                    url: 'getSector.php',
                    type: 'post',
                    data: {zone:zoneid},
                    dataType: 'json',

                    success:function(response){

                        var len = response.length;

                        $("#sel_sector").empty();

                        if(len == 0){
                            $("#sel_sector").append('<option value="">No Data Found</option>');
                            var block_selected=response[i]['block_selected'];
                            $("#blockid").val(block_selected);
                        } else{
                            for( var i = 0; i<len; i++){
                                var id = response[i]['id'];
                                var name = response[i]['name'];
                                var block_selected = response[i]['block_selected'];
                                var zone_selected = response[i]['zone_selected'];
                                var block_area = response[i]['block_area'];
                                var block_region = response[i]['block_region'];
                                if(id==name)
                                {

                                     $("#sel_sector").append('<option value="">No Data Found</option>');

                                    }
                                else
                                {
                                     $("#sel_sector").append("<option value='"+id+"'>"+name+"</option>");

                                    }



                                $("#delete_zone").attr("href", "delete_zone.php?zoneid="+zone_selected+"&blockid="+block_selected+"&area="+block_area+"&region="+block_region+"");
                                $("#zoneid").val(zone_selected);
                            }
                        }
                    }
                });
            });

        });
    </script>