javascript - 使用 Java 脚本的依赖下拉列表仅适用于更改主下拉列表,如果已选择主下拉列表,则它必须在页面加载时工作

标签 javascript jquery ajax laravel

我有一个主要下拉菜单(国家/地区)和第二个相关下拉菜单。 (状态)。仅当我们选择主下拉列表时,此代码才能正常工作。但如果在页面加载时已选择主下拉列表,则不起作用。

主要下拉列表国家/地区:

<select class="select4" name="country" id="country">
  <option value="">Please Select</option>
     @foreach($country_data as $country)
       <option value="{{$country->country_id}}" {{$profile_data->country == $country->country_id  ? 'selected' : ''}}>{{$country->country_name}}</option>
     @endforeach
</select>

依赖下拉状态:

<select class="select4" name="state" id="state">
  <option value="">Please Select</option>
      @foreach($state_data as $state)
         <option value="{{$state->state_id}}" {{$profile_data->state == $state->state_id  ? 'selected' : ''}}>{{$state->state_name}}</option>
      @endforeach
</select>

用于填充依赖下拉列表的Java脚本代码。

<script type="text/javascript">
 $(document).ready(function() {
   $('select[name="country"]').on('change', function() {
     var countryID = $(this).val();
        if(countryID) {
            $.ajax({
                url: 'family/state/'+countryID,
                type: "GET",
                dataType: "json",
                success:function(data) {
                    $('select[name="state"]').empty();
                    $.each(data, function(key, value) {
                        $('select[name="state"]').append('<option value="'+ value.state_id +'">'+ value.state_name +'</option>');
                    });

                }
            });
        }else{
            $('select[name="state"]').empty();
        }
    });
});

Ajax 代码在页面加载时也必须如何工作?

最佳答案

您将需要手动触发更改事件。

在你之后:

$('select[name="country"]').on('change', function() { ... }

强制触发:

$('select[name="country"]').trigger('change');

这样,当您的 document.ready 函数即将结束时,您可以强制触发该事件,如果设置了该事件,它将触发 ajax 调用

关于javascript - 使用 Java 脚本的依赖下拉列表仅适用于更改主下拉列表,如果已选择主下拉列表,则它必须在页面加载时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52565206/

相关文章:

javascript - 如何通过CasperJS从具有特定类的元素中获取href?

javascript - 如何隐藏 Google Material 条形图中的轴标签?

javascript - 显示带onclick能力的省略号只对长内容显示内容

javascript - 前端JavaScript加载 View 的设计模式

jquery - AJAX 不提交表单

c# - MVC4 中从 View 到 Controller 的 JSTree 调用

javascript - Holder.js——取回 DOM 元素?

javascript - slideDown 时向下推底部 div

javascript - 基于数组的高亮行

jQuery 问题 :first-how to solve