jQuery Select2 plugin: reset
jQuery Select2 plugin: reset
我希望能够重置(即空值和设置占位符就像一个"新鲜"的)一个选择下拉菜单。更准确地说,我有依赖的下拉菜单,清除一个应该清除依赖的。
作为一个例子,我可以有国家,地区和城市:清除国家应该清除地区和城市。
我尝试了几件事,但从来没有能够通过编程触发清除。最明显的一个是$('#my-select').empty()
,但是占位符没有被重置,选择的值仍然存在(即使它没有显示)。
使用$('#my-select').select2('data', {})
(或$('#my-select').select2('data', null)
)不会产生期望的结果,并得到错误:
错误:选项'data'是不允许的,当附加到一个
元素。
是否有一个有效的解决方案?
在Select2 v3.4.1中,我从UL中删除了Li元素,但只删除了" Select2 -search-choice"标记:
$('.select2-search-choice').remove();
嗯…
在某种程度上,它在一个最小的例子上工作(见下文)。在这个例子中,第二次选择在重置时不会恢复它的占位符(假设它几乎可以工作)。这意味着我正在处理的遗留代码在某个地方有问题(给定错误,我猜JSP标记生成<select>
)。
这个问题似乎不是我在寻找的地方。
所以这就是解决方案(但不是我真正问题的解决方案)。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Select2 example</title>
<link href="select2-release-3.2/select2.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<fieldset>
<legend>Example</legend>
<label for="first-select">First</label>
<input id="first-select" />
<label for="second-select">Second (depends on first)</label>
<input id="second-select" />
</fieldset>
<script src="jquery-1.9.1.min.js"></script>
<script src="select2-release-3.2/select2.js"></script>
<script type="text/javascript">
$(function() {
var secondData = [{id:0,text:'1'},{id:1,text:'2'},{id:2,text:'3'},{id:3,text:'4'}];
$(document).ready(function() {
// Init first dropdown.
$('#first-select').select2({
allowClear: true,
placeholder: 'Select a value',
data: [{id:0,text:'A'},{id:1,text:'B'},{id:2,text:'C'},{id:3,text:'D'},{id:4,text:'E'}]
});
// Init second dropdown.
$('#second-select').select2({
allowClear: true,
placeholder: 'Select a value',
data: {}
});
});
$(document).on('change', '#first-select', function() {
if ($(this).val() == "") {
// Clear second
$('#second-select').select2({
allowClear: true,
placeholder: 'Select a value',
data: {}
});
} else {
// Fill second
$('#second-select').select2({data: secondData});
}
});
});
</script>
</body>
</html>
相关文章:
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Loopback AngularJS JavaScript SDK - Gruntfile plugin
- 可以't让browserfy使用babel-plugin-transform类属性
- 使用AdMob Plugin Pro时出错
- Jquery Selected plugin - 由 Ajax 动态填充列表
- 我无法使用 .reset() 清除表单
- 在Grails中使用Asset-Pipeline Plugin制作一个视图加载特定的JavaScript
- 来自plugin.google.maps(不是com.google.maps)的标记不会改变其位置
- jquery plugin(Impromptu)
- Extjs form.reset() 不作为 trackResetOnLoad 工作是真的
- jquery-plugin-1配置设置从另一个配置设置获取值
- jQuery Accordion plugin - SHOPIFY
- Scrollsnap JQuery Plugin
- 选中此之后剩余的复选框值.form.reset清除
- plugin iframe-resizer get the parentIFrame
- 轨迹球控件js的tween control.reset()不工作
- RequireJS and jQuery plugin
- 如何在jQuery.awesomeCloud.plugin上添加jQuery工具提示功能
- Adobe Javascript Vs. Plugin
- jQuery Select2 plugin: reset