多选使用逗号分隔的选定选项字符串

时间:2014-01-28 16:13:00

标签: javascript knockout.js

我有以下内容:

<select id="some-id"  multiple="multiple" data-bind="options: $root.Titles,
      optionsText: 'FullName',
      optionsValue: 'ID',
      selectedOptions:TITLESID>
</select>

上面的TITLESID以逗号分隔的字符串形式出现,我想在它到达之前将其更改为数组,否则它将无效。

我知道javascript中的.split()之类的内容应该可以解决问题,但任何建议都会受到赞赏。

这是我的模特:

     var TIds = "2,3,4";
     var TITLESID= ko.observableArray(TIds.split(","));
     var myMainmodel = new TypeOfModel(thismodel, animal, TITLESID); 

1 个答案:

答案 0 :(得分:0)

除了string.split()之外,我认为没有任何东西可以提供帮助。

viewmodel.TITLESID = viewmodel.TITLESID.split(',');

如果TITLESID属性不是可观察的,那么在应用绑定之前,您会想要这样做。如果它是一个可观察的,你会想要这样做:

viewmodel.TITLESID(viewmodel.TITLESID().split(','));

...确保在值更改时视图得到更新。