Jquery 卸下kendoComboBox

Jquery 卸下kendoComboBox,jquery,kendo-ui,Jquery,Kendo Ui,我对打开模式时创建的组合框有一个问题,如果用户单击该模式并再次单击它,它会在旧组合框的基础上创建另一个组合框,因此看起来如下所示: 在文档中,它谈到了销毁方法,当我关闭模式时,该方法正在成功运行: $('#team1player_' + i).data('kendoComboBox').destroy(); $('#team1player_' + i).empty(); 然而,它仍然是创造一个在彼此之上。我缺少什么?销毁方法。这就是为什么可能需要手动删除DOM元素的原因

我对打开模式时创建的组合框有一个问题,如果用户单击该模式并再次单击它,它会在旧组合框的基础上创建另一个组合框,因此看起来如下所示:

在文档中,它谈到了销毁方法,当我关闭模式时,该方法正在成功运行:

  $('#team1player_' + i).data('kendoComboBox').destroy();        
  $('#team1player_' + i).empty();
然而,它仍然是创造一个在彼此之上。我缺少什么?

销毁方法。这就是为什么可能需要手动删除DOM元素的原因

另一方面,您当前正在尝试清空ComboBox,这没有效果,因为此元素是or,因此它没有子元素。相反,您应该删除ComboBox元素之外的一些父元素

以下是剑道UI组合框的呈现方式:

<span class="k-widget k-combobox k-header">
    <span class="k-dropdown-wrap k-state-default">
        <input class="k-input" type="text" />
        <span class="k-select">
            <span class="k-icon k-i-arrow-s">select</span>
        </span>
    </span>
    <input id="combobox" data-role="combobox" style="display: none;" />
</span>
如果要删除生成的内容并将原始内容恢复到其原始状态,请删除除此之外的所有DOM元素:

<input id="combobox" data-role="combobox" style="display: none;" />
另外,删除style=display:none;样式,否则将隐藏您创建的新组合框

最后,更简单的选择可能是删除组合框,这也将删除原始的组合框。然后,添加一个具有相同名称和id的新组合框,并从中创建新组合框


您可能还需要查看是否需要后续的小部件初始化,因为您可以使用现有的小部件实例。

尝试更改$'team1player\'+i.empty;至$'team1player\'+i.html。。过去我也有同样的问题。看起来像。empty仅适用于旧版本。非常感谢,我删除了包装并创建了一个新的输入标记,非常简单:-