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

删除下拉列表中的一个选项

  •  0
  • KimboSlice  · 技术社区  · 8 年前

    你好,有没有任何方法,我可以删除一个选项从淘汰下拉列表在初始加载。

    <select data-bind="options: Reasons,  optionsText: 'Title', optionsValue: 'Id', value: SelectReason,
    optionsCaption: 'Choose..', optionsAfterRender: setOptionRemove"></select>
    

    viewmodel中的代码,我尝试使用optionsAfterRender,

            self.setOptionRemove= function(option, item) {
                if(item.Id == 1){
                ko.applyBindingsToNode(option, { remove: item.remove}, item);
                 }
             }
    

    我想用第一个选项作为单选按钮。

    谢谢。

    1 回复  |  直到 8 年前
        1
  •  1
  •   DaveB    8 年前

    也许你可以把列表绑定到一个计算出来的文件中,这样就排除了列表中不需要的选项,而不是试图删除它。

    self.filteredReasons = ko.computed(function() {
         return ko.utils.arrayFilter(self.Reasons(), function(reason) {
              if(reason.Id !== 1) {
                   return true;
              }
         });
    });
    

    更新的绑定:

    <select data-bind="options: filteredReasons ,  optionsText: 'Title', optionsValue: 'Id', value: SelectReason, optionsCaption: 'Choose..'"></select>
    
    推荐文章