AJAX接收多个数据

时间:2016-01-15 10:40:19

标签: javascript json ajax http-get

我正在尝试填充一些下拉字段。我有以下下拉列表:

  1. 国家
  2. 运动
  3. 我想选择第一个大陆,然后动态填充国家和体育。示例:

    1. 欧洲 - > (所有欧洲国家都正确显示,它们位于数据库中)。

    2. 我选择阿尔及利亚;体育名称应该出现在下拉列表中。 json是正确的,但我知道ajax是错的! 这是我的代码:

      $(document).ready(function(){
      
      $('#select_continents').on('change', function(){ //continent drop down ID
          $('#select_countries').empty();// country drop down ID
          $('#select_sport').empty();// sport drop down ID
      
          $.ajax({
              method: 'GET',
              url: './json.php', 
              data: { json_continent_country : 1, continent : $('#select_continents').val(), json_country_sport : 1, country : $('#select_countries').val() }
      
          })
          .done(function(data){
              $.each(JSON.parse(data), function(i, val)
              {
                  $('#select_countries').append('<option value="'+val.id+'">'+val.country_name+'</option>');
                  $('#select_sport').append('<option value="'+val.id+'">'+val.sport_name+'</option>');       
              })
          })   
          .fail(function(){
              alert('error');
          })            
      })
      })
      

      这就是我得到的:

    3. enter image description here

      有什么建议吗?

1 个答案:

答案 0 :(得分:1)

为什么只有在更改大陆的情况下才重新加载体育列表?您说您希望在国家/地区更改时更新体育列表,而不是您的代码正在执行的操作。

尝试这样做(省略任何格式或文本元素):

val.id

此外,您的代码中的Fragment mFragment; FragmentManager mFragmentManager = getSupportFragmentManager(); mFragment = new Fragment_2(); mFragmentManager.beginTransaction() .replace(R.id.frame_container,mFragment) .commit(); 对于国家/地区和体育运动是否相同?