选择.js destroy() 方法更改选择值
Selectize.js destroy() method changes select value
我在我的项目中使用selectize.js。我需要做的是克隆表单的一部分(带有选定的元素)并将其附加到表单的末尾。
我决定在克隆之前销毁选定的元素,并在附加新的子表单初始化后再次选择。
以下是销毁选定元素的代码:
var selectElements = $(plusButtonElement).parents(".subform_wrapper").first().find("> .subform_fields_wrapper").find("select");
$.each(selectElements, function(index, element){
console.log(element);
console.log($(element).val()); //Here we got value "10"
$(element)[0].selectize.destroy();
console.log($(element).val()); //Here we got value "A6"
});
它有效 - 元素转换为常规选择,但选择元素的值正在更改。有人遇到过这个问题吗?
我检查了 selectize.js 源代码,我唯一能说的是此代码中的值已更改:
self.$input
.html('')
.append(revertSettings.$children)
.removeAttr('tabindex')
.removeClass('selectized')
.attr({tabindex: revertSettings.tabindex})
.show();
嗨,
塔玛拉,是的,我认为这是选择.js的错误。
我在选择中更改以下销毁方法.js
destroy: function() {
var self = this;
var selectedValue = self.$input.val();
var eventNS = self.eventNS;
var revertSettings = self.revertSettings;
self.trigger('destroy');
self.off();
self.$wrapper.remove();
self.$dropdown.remove();
self.$input
.html('')
.append(revertSettings.$children)
.removeAttr('tabindex')
.removeClass('selectized')
.attr({tabindex: revertSettings.tabindex})
.show();
self.$control_input.removeData('grow');
self.$input.removeData('selectize');
$(window).off(eventNS);
$(document).off(eventNS);
$(document.body).off(eventNS);
delete self.$input[0].selectize;
self.$input.val(selectedValue);
},
在这里你可以下载我的选择.js文件。
相关文章:
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 选择具有值数组的所有元素的最有效方法
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 有没有一种方法可以从两个标签之间提取文本,并以我选择的格式输出
- 有没有什么方法可以通过输入字段(type=file)来找出选择了多少个文件
- Rally App SDK 2.0:Ext.Element 方法“不可选择”并没有那么规范化
- 选择具有特定数据的所有 html 标记的最有效方法是什么 - [适当性],无论值如何
- 如何在jQuery的.on()方法中动态更新按钮的ID选择器
- 套接字 IO 的选择传输方法
- 有没有办法将选择器返回到元素?是$(这个)还是其他方法
- 通过类选择器单独调用方法
- 使用 jQuery 只选择第一级后代 - 有没有更好的方法
- 检测引导下拉菜单选择的正确方法是什么
- 在要设置动画的所有方法之间进行选择
- 如何在 AngularJS 中的选择方法中传递值
- 查询选择方法-.ready()与实用程序方法$.ready()
- _.选择方法以匹配对象数组中的子属性
- j查询选择方法
- 剑道选项卡条选择方法集