我有一个选择有2种选项:用户和组。当用户被选中时,它没问题,但是当选择了一个组时,我需要用组中的用户列表替换所选项,使用该组作为一组的别名。
示例:我有这个选项列表:
var options: [
{text: 'Ironman', value: '1', type: 'user' },
{text: 'Spiderman', value: '2', type: 'user' },
{text: 'Black Widow', value: '3', type: 'user' },
{text: 'Superhero', value: '4', type: 'group' }
]
如果选择了“超级英雄”,我需要“铁人三号”,“蜘蛛侠”等列表。和黑寡妇'替换选择。 我无法找到正确的事件来阻止选择,并将其替换为使用AJAX检索的用户列表。
答案 0 :(得分:1)
您可以使用.on('change', handler)
event:
// When you create your selectize
var $select = $("#select_id").selectize({
// Options here
});
var selectizeControl = $select[0].selectize;
<小时/> 然后你可以访问它
selectizeControl.on('change', function() {
var value = selectize.getValue();
// From here you get the value, and do whatever you need with it
console.log(value);
if (options[value]["type"] == 'group')
{
var tmp = 0;
var users = "";
// Here, do your ajax call to get your list from the value
ajaxCall(value, function(list) {
// I guess you'd have an array from your server
for (var user in list)
{
if (tmp > 0)
users += ",";
users += user;
tmp++;
}
$('#select_id').val(users);
});
}
});