代码之家  ›  专栏  ›  技术社区  ›  asif

如何从控制器中选择Selectize插件中的多个值

  •  2
  • asif  · 技术社区  · 7 年前

    如何添加所选的几个选项 我正在使用此插件: https://github.com/selectize/selectize.js/blob/master/docs/usage.md

    我有一个如下图所示的对象: enter image description here

    这是我的客户脚本

    //skills
    $scope.$selectSkill = $('#selectSkill').selectize({
        valueField: 'id',
        labelField: 'name',
        searchField: 'name',
        placeholder: "Select Skills",
        options: $scope.data.skills,
        create: false,
        sortField: {
            field: 'name',
            direction: 'asc'
        }
    });
    

    这是我的HTML

    <select id="selectSkill" 
    name="selectSkill" 
    ng-model="selectSkill" 
    multiple required> </select>
    

    到目前为止,一切都很好, enter image description here

    现在,当我触发一个方法时,我会得到一些( )响应中的值如下:

    48c9eda9c0a8018b4b6aca082d5d1e41  ,  48c9fe9ac0a8018b6a37e4db0d07df09
    

    我希望这两个被选中,如下图所示 enter image description here

    我该怎么做?

    我试过这样的方法:

    var $select = $("#selectSkill").selectize();
                    var yourDefaultIds = [slectedSkills.skills];  //(those 2 vlaues)
                    selectize.setValue(yourDefaultIds);;
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Mr world wide    7 年前
    //populate skills starts here
    var templateSkills = finTempObj.skills;
    var str_array_skills = templateSkills.split(',');
    var $select =   $("#selectSkill").selectize();
    var selectize = $select[0].selectize;
    selectize.setValue(str_array_skills);
    selectize.refreshOptions();
    //populate skills ends here
    

    我已经测试过了。 不是设置为字符串,而是将这两个值转换为数组,然后设置。