我正在开发一个基于引导程序的表单,可以动态添加或删除字段,也可以使用formvalidation插件验证字段!此外,我正在使用selectize.js进行两次相互依赖的下拉菜单!它到目前为止工作但我不知道如何为新添加的下拉列表初始化selectize.js!
这是JSFiddle,其中包含我的所有代码(相互依赖的下拉列表无效)!
从formvalidation.io我发现这种方式初始化
$('#selectizeForm')
.formValidation({
framework: 'bootstrap',
excluded: ':disabled',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
frameworks: {
validators: {
callback: {
message: 'Please indicate 2-4 Javascript frameworks',
callback: function(value, validator, $field) {
...
}
}
}
}
}
})
.find('[name="frameworks"]')
.selectize({
plugins: ['remove_button'],
delimiter: ',',
persist: false,
create: function(input) {
...
};
}
})
// Revalidate the frameworks field when it is changed
.on('change', function(e) {
$('#selectizeForm').formValidation('revalidateField', 'frameworks');
})
.end();
但是通过这种方法,我甚至根本没有让我的相互依赖的下拉工作!
我真的很感激任何帮助!
答案 0 :(得分:1)
不确定你是否仍然期待答案。无论如何想分享我的经验。我有类似的问题。我意识到,对于静态控件(文本框,下拉列表或div),选择初始化将正常工作,因为只要DOM(html)加载 selectize js为所有绑定ID执行其工作。而动态 控件,我们需要通过诸如的事件来调用seletize函数 "点击","鼠标悬停"。我曾经使用过mouseover事件。这个对我有用。