3

我在尝试合并多个日期选择器时遇到问题,可以在这里找到: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

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

网络错误:404 未找到 - css/assets/819742eb/jquery.min.js"

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

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

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

在此处输入图像描述

4

2 回答 2

10

在组件数组中的配置中添加

'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 等)必须在主布局的标题中。仅在您的视图中加载自定义脚本或插件。

于 2013-07-30T07:15:41.603 回答
0

加入config/main.php

'components' => [
    'clientScript' => ['scriptMap' => ['jquery.js' => 'http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js']],
]
于 2020-02-12T06:55:18.197 回答