如何解决当搜索选择具有3个或更少的选项时,如何防止羊驼产生无线电场
我有一个div和以下javascript:
let usersNotContributingIds = [ 19,20,21 ];
let usersNotContributingNames = [ "Flavius K.","Pogchamp","Lazy Gopnik" ];
let contributorToBeAddedId; // the value that will be used for further actions
$("#alpaca-search-contributing-users").alpaca({
data: null,schema: {
type: "object",enum: usersNotContributingIds,},options: {
name: "pls",label: 'Contributor Fullname',optionLabels: usersNotContributingNames,helper: "Select user sou want to add as a contributor",id: "select2-search",focus: false,events: {
change: function() {
console.log(this.getValue().value);
contributorToBeAddedId = this.getValue().value
},focus: function() {
console.log(this.name);
},blur: function() {
console.log(this.name + ": blur");
},ready: function() {
console.log(this.name);
}
},postRender: function(control) {
$('#select2-search').select2();
}
});
很显然,我想获取新设置的值,或者无论如何访问所选值并使用它。例如,使用AJAX和一个按钮。
问题是,当我有3个或更少的选项时,羊驼毛不将字段显示为搜索内容,而是将其作为广播内容,并且this.getValue()
为空。
是否有一种方法可以强制羊驼毛不使用无线电按钮?即使我只有1个选项,我也不想使用它们。文档只是简单地指出,如果有3个或更少的选项,它将生成单选按钮,而不是select,但是事实却没有说明,它破坏了所有内容,并且我将无法以相同的方式检索值带有选择字段。
如果我做的事情效率低下或做错了,请告诉我,我是Alpaca的新手,我只想在搜索中添加一个整洁的select下拉列表,我可以用来从任何长度的列表中选择用户。另外,我希望“ null”或“ none”选项不存在。
解决方法
要呈现选择的组件,应使用选项type
并将其设置为"select"
。
该值的问题是因为您使用的是错误的,要获取羊驼毛中的值,您只需执行this.getValue()
,而无需添加.value
。
FYI:如果看到错误“ 此字段应具有Flavius K.,Lazy Gopnik,Pogchamp中的值之一。当前值为:19 ”,则应更新枚举数组以使其具有字符串而不是整数let usersNotContributingIds = [ "19","20","21" ];
。
这是工作fiddle。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。