Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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
Php 附加选项选择Ajax_Php_Ajax_Laravel - Fatal编程技术网

Php 附加选项选择Ajax

Php 附加选项选择Ajax,php,ajax,laravel,Php,Ajax,Laravel,我有3个依赖选项选择,我正尝试根据之前的选择使用AJAX进行填充,但我不能 我用的是拉威尔,这部分看起来还可以 HTML: <div class="form-group col-md-3"> {!! Form::label('country', 'Seleccione el País') !!}</br> <select name="country" id="country" class="form-control country" >

我有3个依赖选项选择,我正尝试根据之前的选择使用AJAX进行填充,但我不能

我用的是拉威尔,这部分看起来还可以

HTML:

<div class="form-group col-md-3">
    {!! Form::label('country', 'Seleccione el País') !!}</br>

    <select name="country" id="country" class="form-control country" >
        <option value=""  disabled selected>Paises</option>
        @foreach($countries as $country)
           <option value="{{$country->id}}">{{$country->name}}</option>
        @endforeach  
   </select>
</div>


<div class="form-group col-md-3">
    {!! Form::label('prov', 'Seleccione la Provincia') !!}</br>

    <select name="province" id="province" class="form-control province">    
        <option value=""  disabled>Provincias</option>
    </select> 
</div>


<div class="form-group col-md-3">
    {!! Form::label('county', 'Seleccione el Partido') !!}</br>
    <select class="form-control" name="county" id="county">
        <option value=""  disabled >Partido</option>
    </select>
</div>

<div class="form-group col-md-3">
    {!! Form::label('locality', 'Seleccione la Localidad') !!}</br>
    <select class="form-control" name="locality" id="locality">
        <option value=""  disabled >Localidad</option>
    </select>
</div>
<script type="text/javascript">

$(document).ready(function(){

$(document).on('change','.country',function(){
     //console.log("hmm its change");

    var country_id=$(this).val();
    // console.log(country_id);
    var select=$(this).parent();
     console.log(select);
    var op=" ";

    $.ajax({
        type:'get',
        url:'{{ URL::route('findProvince') }}',
        data:{'id':country_id},
        success:function(data){
            //console.log(url);

            //console.log(data);

            //console.log(data.length);
            op+='<option value="0" selected disabled>Selecciona La Provincia</option>';
            for(var i=0;i<data.length;i++){
            op+='<option value="'+data[i].id+'">'+data[i].name+'</option>';
            //console.log(op);
           }

           select.find('.province').html(" ");
           select.find('.province').append(op);
           //console.log(op);

        },
        error:function(){

        }
    });
});
});

</script>
但是我不能用生成的选项填充select。谢谢。

存储在
select
变量中的
$(this.parent()
将引用
.country
标记的父
div
,当您尝试
selec.find(.province”)
时,选择器将找不到元素,因为div中没有包含
province
类的元素,我的建议是使用
id
(应该是唯一的)针对select,方法是:

然后替换:

select.find('.province').html(" ");
select.find('.province').append(op);
作者:


选择属于当前选择的下拉列表,使用idZakaria为slector创建的第二个下拉列表!!!总的来说,这不是我最喜欢的东西,我只知道一点ajax,但你是个天才!!!!这个解决方案非常有效!!!谢谢!!现在我将尝试将此复制到其他选择。再次感谢!!!
var select = $("#province");
select.find('.province').html(" ");
select.find('.province').append(op);
select.html(op);