如何在Yii框架中使用jQuery。

时间:2012-10-09 08:37:56

标签: javascript jquery yii

如何在yii中使用jquery / javascript?,

如何在yii中使用我的脚本?

为什么这与以任何其他方式使用jQuery有什么不同?

3 个答案:

答案 0 :(得分:11)

使用Yii的registerScript加载我们的jQuery,如果使用通常看起来像那样:

$(document).ready(function(){
    alert('hello');
    // Enter code here
});

现在,如果我们使用 Yii的脚本

<?php
    Yii::app()->clientScript->registerScript('helloscript',"
        alert('hello');
    ",CClientScript::POS_READY);
?>

您将看到需要将3个内容传递给Yii :: app() - &gt; clientScript-&gt; registerScript函数,首先是脚本名称,这并不重要;它必须与同一页面上的任何其他脚本名称唯一。 LINK

答案 1 :(得分:11)

  

如何在yii中使用jquery?

如上所述,您可以注册新的脚本块,也可以注册新的外部脚本文件。您还可以在插件中注册资源,这些资产将占用整个JS文件夹并将它们组合到您的应用程序中。

因此,有很多方法可以在Yii中使用JQuery。

  

如何在yii中使用我的jquery

JQuery预先捆绑并使用JQuery激活,JQuery库本身被视为核心脚本,因此不需要将自己的JQuery放入其中。

您可以使用自己的内容覆盖内置的JQuery:

$cs = Yii::app()->clientScript;
$cs->scriptMap = array(
'jquery.js' => Yii::app()->request->baseUrl.'/js/jquery.js',
'jquery.yii.js' => Yii::app()->request->baseUrl.'/js/jquery.min.js',
);
$cs->registerCoreScript('jquery');
$cs->registerCoreScript('jquery.ui');

在布局,动作或视图中的某个地方。我更喜欢把它放在布局中并亲自管理我自己的JQuery版本。

  

为什么这与以任何其他方式使用jQuery有什么不同?

主要是由于框架及其组件的标准化和互操作性。预先捆绑了JQuery UI小部件和JQuery元素的内置钩子,这使得框架更容易构建可重用且干净的JS对象,以便在您的应用程序中使用。

我也喜欢JQuery,所以在我看来它预先捆绑是有道理的。然而,这并不是对JQuery作为唯一的JS库/框架的呼吁,你应该在选择之前考虑哪种最适合你。

答案 2 :(得分:0)

这是我刚刚在我的应用开发中使用的示例脚本:

<?php
$js = "
$('body')
  .on('click', '#cancelCreateInductionTemplate, #closeDialogBox', function (e) {
    // Close #openDialog
    e.preventDefault();
    $('#openDialog').dialog('close');
  });
";
Yii::app()->clientScript->registerScript('cancelCreateInductionTemplate', $js, CClientScript::POS_READY);
?>