无法在 select2 保管箱中 select 第一个选项
Cannot select first option in select2 dropbox
使用 select2.js 我有一个下拉菜单,除了一件事外效果很好:加载时我无法单击下拉菜单中的第一个选项并将其显示为当前选择。单击第一个选项时,没有任何反应,如果下拉列表失去焦点,占位符将填充该框。如果选择了 40 个选项中的任何其他选项,该值文本将显示在下拉框中,我可以在我的应用程序中使用该值。
选择一个选项(第一个选项除外)后,我再次单击第一个选项,然后第一个选项值显示在框中,我可以毫无问题地使用它。此问题仅在加载时发生。
JS
$('.selectArea').select2({
placeholder: 'Area #',
allowClear: true,
disabled: false
});
我已经使用本地 json 文件填充了下拉列表:
$.getJSON('areaList.json', function(json) {
for(i = 0; i < json.length; i++){
$('<option>').attr('value', json[i].MGNT_AREA).text(json[i].MGNT_AREA).appendTo('.selectArea');
}
});
HTML
<select class="selectArea" style='width: 120px; font-family: Arial'></select>
我的目标是能够使用下拉框中的占位符加载页面,然后能够单击第一个选项并填充该框,这样我就可以将该值用于应用程序的其他部分。
如有任何帮助,我们将不胜感激。
您需要在向空下拉列表添加新选项后触发 change
事件。
我无法删除选中的第一个选项,选中的属性甚至没有在 Web 检查器中呈现。我被迫删除了第一个选项,因为我的验证在 select2 上失败了。
我解决问题的方法是:
填充选项后,我在所有其他选项之上添加了一个新选项,并向其中添加了所选属性。紧接着,我将其删除:代码如下:
$(".countries").prepend('<option selected class="placeholdered" value="">Select from the list of countries</option>');
$('.countries').select2().trigger('change');
$('.countries option').removeAttr('selected');
请注意,我在删除所选内容之前触发了 select2 更改。不需要占位符...
使用 select2.js 我有一个下拉菜单,除了一件事外效果很好:加载时我无法单击下拉菜单中的第一个选项并将其显示为当前选择。单击第一个选项时,没有任何反应,如果下拉列表失去焦点,占位符将填充该框。如果选择了 40 个选项中的任何其他选项,该值文本将显示在下拉框中,我可以在我的应用程序中使用该值。
选择一个选项(第一个选项除外)后,我再次单击第一个选项,然后第一个选项值显示在框中,我可以毫无问题地使用它。此问题仅在加载时发生。
JS
$('.selectArea').select2({
placeholder: 'Area #',
allowClear: true,
disabled: false
});
我已经使用本地 json 文件填充了下拉列表:
$.getJSON('areaList.json', function(json) {
for(i = 0; i < json.length; i++){
$('<option>').attr('value', json[i].MGNT_AREA).text(json[i].MGNT_AREA).appendTo('.selectArea');
}
});
HTML
<select class="selectArea" style='width: 120px; font-family: Arial'></select>
我的目标是能够使用下拉框中的占位符加载页面,然后能够单击第一个选项并填充该框,这样我就可以将该值用于应用程序的其他部分。
如有任何帮助,我们将不胜感激。
您需要在向空下拉列表添加新选项后触发 change
事件。
我无法删除选中的第一个选项,选中的属性甚至没有在 Web 检查器中呈现。我被迫删除了第一个选项,因为我的验证在 select2 上失败了。
我解决问题的方法是:
填充选项后,我在所有其他选项之上添加了一个新选项,并向其中添加了所选属性。紧接着,我将其删除:代码如下:
$(".countries").prepend('<option selected class="placeholdered" value="">Select from the list of countries</option>');
$('.countries').select2().trigger('change');
$('.countries option').removeAttr('selected');
请注意,我在删除所选内容之前触发了 select2 更改。不需要占位符...