【问题标题】:Destroy if multiselect has already inited如果多选已经启动,则销毁
【发布时间】:2015-05-19 18:48:23
【问题描述】:

我会调用initProductSelect,它会初始化一个 jquery ui 的多选

$handler.multiselect({...})

但是我在第二次调用``initProductSelect, without destroy, but if I call handler.multiselect('destroy').multiselect({...}) the very first time I callinitProductSelect`的时候发现了一些问题,因为它还没有被初始化,所以会出现错误,我搜索了doc http://www.erichynds.com/blog/jquery-ui-multiselect-widget但没有找到像“isInit”这样的方法。

我是否必须在全局某个位置存储来自var $multiselect=$handler.multiselect({...}) 的变量返回,并检查if($multiselect==null)

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-multiselect


    【解决方案1】:

    只需向元素添加一个类,例如“alreadyInited”,就可以知道它已被初始化,并为此跳过初始化。喜欢:

     function initProductSelect() {
      if $handler.hasClass("alreadyInited") return;
      else $handler.multiselect({...})
     }
    

    【讨论】:

    • else 在这里做什么?
    • else 正在初始化您的多选(如果尚未初始化)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多