【问题标题】:Kendo ui dropdownlist remove specific itemKendo ui 下拉列表删除特定项目
【发布时间】:2014-05-08 19:31:11
【问题描述】:

我有一个从数据源填写的下拉列表。在特定事件之后,我想使用id = 22 从我的下拉列表中删除一项。 (我知道这很奇怪且硬编码,但留给新手的时间不多)。那可能吗?我该怎么做?

【问题讨论】:

    标签: javascript angularjs kendo-ui kendo-dropdown kendo-datasource


    【解决方案1】:

    这是使用 Kendo 数据源删除方法完成任务的一种快速而肮脏的方法。它假定您的下拉列表绑定到包含名为“id”的属性的对象。如果您使用的是标准文本/值键值对对象,请将 if 语句替换为 if (item.Value == 22)

    var dropdown = $('#dropDownId').data("kendoDropDownList");
    
    var raw = dropdown.dataSource.data();
    var length = raw.length;
    
    var item, i;
    for(i=length-1; i>=0; i--){
    
      item = raw[i];
      if (item.id == 22) {
        dataSource.remove(item);
        break;
      }
    
    }
    

    来源:http://blogs.telerik.com/kendoui/posts/13-01-29/adding_and_removing_items_in_kendo_data_datasource

    【讨论】:

    • 早上好!我现在真的需要一个快速的肮脏方式。非常感谢大家的回答!我现在就试试!!太棒了!
    【解决方案2】:

    您可以访问此项目的父项,然后将其作为父项的子项删除:

      document.getElementById("22").parentNode.removeChild(document.getElementById("22"));
    

    getElementById("22") 得到一个 id 为“22”的元素

    parentNode 是元素的父元素。在您的情况下,它是下拉菜单

    removeChild(document.getElementById("22")) 从其专利中删除指定的子项。在您的情况下,一个 id 为“22”的元素。

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
    • @TomaszKowalczyk 为什么?
    • 如果你是通过代码示例来回复,至少解释一下为什么它可以解决问题。 “回答”这个问题不仅意味着给出如何解决问题的指示,而且还意味着教育提问者他做错了什么以及他需要解决什么问题。
    • @TomaszKowalczyk 在这种情况下,他有没有完成任何事情?
    • 不,他什么都没做。但是,如果您希望您的答案完整,请解释您在做什么,例如您正在访问所选元素的 parentNode,然后通过将完全相同的对象传递给 removeChild 来移除自身。您知道,您的代码回答了提问者的问题,但是将来还有其他人会阅读此问题,您应该为上下文之外的人提供信息。
    猜你喜欢
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多