代码之家  ›  专栏  ›  技术社区  ›  Houy Narun

如何在PixelAdmin模板中将select2依赖插件更新为4.0.6版

  •  8
  • Houy Narun  · 技术社区  · 8 年前

    我在用 Pixel Admin template ,我认为这不是now的当前版本,而是实现一个jinja2 web应用程序,该应用程序使用旧版本的select2依赖项版本3.5.1。它工作正常,除了在iso设备上查看时,虚拟键盘总是显示在触摸屏上。

    我知道这个错误已经在select2最新版本4.0.6中修复,所以我想把它改成这个版本。

    布局html

    <!DOCTYPE html>
    <html class="gt-ie8 gt-ie9 not-ie pxajs">
        <head>
            <meta charset="UTF-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <title>Web Application</title>
    
            <script src="{{ url_for('static',filename='js/jquery-1.11.1.min.js') }}"></script>
            <script src="{{ url_for('static',filename='js/bootstrap.min.js') }}"></script>
    
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/bootstrap.min.css') }}">
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/pixel-admin.min.css') }}">
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/rtl.min.css') }}">
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/themes.min.css') }}">
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/pages.min.css') }}">
            <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/widgets.min.css') }}">
            <script src="{{ url_for('static',filename='javascripts/dynamic_con.js') }}"></script>
        <!-- Remove select2 old version -->
            <!-- <script src="{{ url_for('static',filename='js/select2.js') }}"></script>    -->
            <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
            <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
            <script src="{{ url_for('static',filename='js/bootstrap-datepicker.js') }}"></script>
            <script src="{{ url_for('static',filename='javascripts/toolbar.js') }}"></script>
    
            <script>var init = [];</script>
    
            {% block content %}
    
            {% endblock %}
             <script src="{{ url_for('static',filename='javascripts/pixel-admin.min.js') }}"></script>
            <script type="text/javascript">
                init.push(function () {
    
                })
                window.PixelAdmin.start(init);
            </script>
        </body>
    </html>
    

    中心点html

    {% extends "layout.html" %}
    
    {% block content %}
    <select class="js-example-basic-single" name="state">
      <option value="AL">Alabama</option>
      <option value="WY">Wyoming</option>
    </select>
    
    <script type="text/javascript">
        $(document).ready(function() {
            $('.js-example-basic-single').select2();
    
        });
    </script>
    
    {% endblock %}
    

    当打开URL路由时 http://127.0.0.1:5000/Centre ,select2不会在所有ios设备上打开,但在桌面视图上工作正常。除非我删除pixel admin的主js文件 <script src="{{ url_for('static',filename='javascripts/pixel-admin.min.js') }}"></script> ,select2工作正常,但主题的其他功能将丢失,主js脚本也被删除。因此,这不是我正在寻找的解决方案。

    我的问题是 如何将template pixel admin中版本3.5.1的select2替换为版本4.0.6的select2,使其在ios设备上运行良好?谢谢

    补充:

    我刚在档案里找到 pixel-admin.min.js 与主题一起提供的插件包括许多其他插件,包括select2。我看到里面有一个select2脚本。这可能是我无法用更新版本的select2覆盖它的原因,因为正如我所说的,如果我注释掉这个文件 像素管理员。min.js ,但js文件中的其他插件和功能也将消失,我不这么认为。因此,我如何才能克服这种权衡?请帮忙,我非常需要,谢谢。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Dimitris Siakavelis    8 年前

    只要在里面找到相应的代码就行了 pixel-admin.min.js 并对其进行评论。

    然后,包括Select2 version 4.0.6 在html中,正如您通常所做的那样:
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css">
    和
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js"></script>

    最好使用Select2版本 4.0.5 因为 4.0.6 是 rc .
    看一看 Select2 release page .

        2
  •  0
  •   Peter van der Does    7 年前

    要禁用PixelAdmin中的Select2,请根据您发布的文件,第1473-1475行

    if (window.Select2 !== undefined) {
        return;
    }
    

    换成

    return;
    if (window.Select2 !== undefined) {
        return;
    }
    

    你使用的是哪个版本的PixelAdmin?