依赖于Jquery的下拉列表仅适用于过多的变量

时间:2017-06-09 09:25:39

标签: javascript jquery

我有非常基本的JS技能,所以如果我试图修复一些不需要修复的东西,请原谅。

我使用select2下拉列表。当用户选择任何选项时,它会被发布到远程文件,该文件返回可能的选项(采用JSON格式)以显示在第二个(从属)下拉列表中。

第一个选择看起来如下:

<select name="restaurant_id" id="restaurant_id">my_options_go_here</select>

第二个(从属)选择外观:

<select name="division_ids_array[]" id="division_ids_array" multiple="multiple"></select>

这里的JS代码:

  $(function () {
  function ajax_post_data_get_divisions(parameters) {
    $.ajax({
      method: "POST",
      url: "ajax.php",
      cache: false,
      data: parameters,
      success: function(data) {
        var dropdown_options=$('#division_ids_array');
            dropdown_options.empty();
        var dropdown_options="";
        $.each(data, function(key, val) {
                dropdown_options+='<option value="'+val.division_id+'" '+val.selected+'>'+val.division_name+'</option>';
            });
        $(dropdown_options).appendTo("#division_ids_array");
      }
    });
  }

  $('#restaurant_id').on("change", function(e) {
  parameters=$("#my_form_id").serialize();
  ajax_post_data_get_divisions(parameters);
  });
});

一切正常,但我不知道这些线路过多:

var dropdown_options=$('#division_ids_array');
            dropdown_options.empty();
        var dropdown_options="";

请原谅我的无知,但看起来变量dropdown_options首先被创建,然后它被设置为空,然后再次创建相同的变量?

不幸的是,如果我删除至少一行,则无效。例如,如果我尝试简单地编码为:

var dropdown_options=$('#division_ids_array');
dropdown_options.empty();

依赖下拉列表仍为空。这是我的代码中的错误吗?

0 个答案:

没有答案