Javascript 以编程方式选择AJAX上的选项2
Im使用Select2 jQuery插件v4.0.3为Im正在处理的项目。select2实例源于ajax,我想知道是否有一种方法可以通过编程方式选择选项 我以前可以通过以下方式设置值: $'input-field'.val['123','456'].触发'change' 当它不是ajax源代码时。现在我需要使用一个来自ajax的Select2实例来实现这一点 我创建了一个实例,只是为了让你明白我的意思。单击“设置值”应在select2实例中选择2个值 谢谢Javascript 以编程方式选择AJAX上的选项2,javascript,jquery,ajax,select2,Javascript,Jquery,Ajax,Select2,Im使用Select2 jQuery插件v4.0.3为Im正在处理的项目。select2实例源于ajax,我想知道是否有一种方法可以通过编程方式选择选项 我以前可以通过以下方式设置值: $'input-field'.val['123','456'].触发'change' 当它不是ajax源代码时。现在我需要使用一个来自ajax的Select2实例来实现这一点 我创建了一个实例,只是为了让你明白我的意思。单击“设置值”应在select2实例中选择2个值 谢谢 另外,我甚至尝试将tags选项设置为t
另外,我甚至尝试将tags选项设置为true,这样即使任何值不是AJAX查询的结果,也可以选择它,但它仍然不起作用您似乎无法以编程方式选择以前未从下拉列表中搜索和选择的值 Select2在使用AJAX数据时,通过在发现之前未知的选项时将其添加到基础select元素中来工作。val正在尝试添加所需的项目,但只能添加已存在的项目,其余项目将被忽略。选择2然后获取更改事件并相应地调整渲染 这至少会给您带来一个有用的方向:
$('#set-selected').click(function(e){
e.preventDefault();
var $select = $('.js-data-example-ajax');
var targets = ["28200583","3620194"];
targets.forEach(function(v,i,a){
if(!$('option[value='+v+']',$select).length) {
$select.append('<option value="'+v+'">'+v+'</option>');
}
});
$select.val(targets).trigger('change');
});
通常,这些UI库的情况是,在本例中,通过调用.select2,以与初始化控件相同的方式操作控件。但是,我找不到一个这种形式的命令可以满足您在这种情况下的需要。看起来您的ajax调用没有得到正确的值,但是当清除select2框并单击set values链接时,一切都正常。我昨晚再次处理这个问题时得出了相同的结论。我在上面发现了一个GIT问题。我认为这是一种类似的东西,我只是希望Select2插件足够酷,能够对传递给$.val调用的值发出AJAX请求,但这同样有效。谢谢