我有非常基本的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();
依赖下拉列表仍为空。这是我的代码中的错误吗?