Yii生成jQuery版本1.71。我如何强制yii使用特定的jquery版本

时间:2013-07-30 06:58:07

标签: jquery jquery-ui yii yii-events

我在尝试合并多个日期选择器时出现问题,可以在此处找到:http://multidatespickr.sourceforge.net/

我遇到的问题在以下stackoverflow中进行了解释。 :https://stackoverflow.com/questions/17920743/jquery-multiple-datepicker-selected-dates-not-loading-to-textbox

由于我没有得到任何回复,我开始深入研究代码,并发现yii的自动生成jQuery是所有问题的问题。

所以我做的是删除以下jQuery / jquery.min.js并包含此内容。的jquery-1.7.2.js

现在在控制台上我得到了这个错误

  

NetworkError:404 Not Found - css / assets / 819742eb / jquery.min.js“

但是我能够得到多个日期选择器,这是我真正需要的。 :)

现在我需要的是,因为我只是手动删除并使其正常工作但我想知道如何在yii框架中强制查看文件(index.php)以仅加载在页面但不是主模板中的任何内容或在其他任何地方定义

下面是一个html输出,我只需要指向蓝色的那些输出到特定视图中。

enter image description here

2 个答案:

答案 0 :(得分:9)

在您的配置数组中添加

'clientScript' => array('scriptMap' => array('jquery.js' => false, ))

然后在布局标题中加载您想要的版本:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

对于yii 1.1.13及更低版本以及对于jquery 1.9+,您需要修补jquery.ba-bbq以解决一些冲突。

你所做的(手动删除jquery)非常糟糕。还原它。

要排除某些脚本,请使用scriptmap。它可以在动作渲染之前和配置文件中用于控制器。

所有全局脚本(jquery,jquery-ui等)必须位于主布局的标题中。在视图中仅加载自定义脚本或插件。

答案 1 :(得分:0)

添加config/main.php

'components' => [
    'clientScript' => ['scriptMap' => ['jquery.js' => 'http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js']],
]