如何在普通的js中使用代码进入yii2框架?

时间:2016-11-16 10:09:46

标签: javascript yii2

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">
google.load("elements", "1", {packages: "transliteration"});
</script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
function OnLoad() {                
    var options = {
        sourceLanguage:
        google.elements.transliteration.LanguageCode.ENGLISH,
        destinationLanguage:
        [google.elements.transliteration.LanguageCode.HINDI],
        shortcutKey: 'ctrl+g',
        transliterationEnabled: true
    };

    var control = new google.elements.transliteration.TransliterationControl(options);
    control.makeTransliteratable(["txtHindi"]);
    var keyVal = 32; // Space key
    $("#txtEnglish").on('keydown', function(event) {
        if(event.keyCode === 32) {
            var engText = $("#txtEnglish").val() + " ";
            var engTextArray = engText.split(" ");
            $("#txtHindi").val($("#txtHindi").val() + engTextArray[engTextArray.length-2]);

            document.getElementById("txtHindi").focus();
            $("#txtHindi").trigger ( {
                type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
            } );
        }
    });

    $("#txtHindi").bind ("keyup",  function (event) {
        setTimeout(function(){ $("#txtEnglish").val($("#txtEnglish").val() + " "); document.getElementById("txtEnglish").focus()},0);
    });
} //end onLoad function

google.setOnLoadCallback(OnLoad);
</script> 

</head>
    <body>
       English Text: <input size="40" type="text" id="txtEnglish"/> <br/>
       Hindi Text`enter code here` : <input size="40" type="text" id="txtHindi"/> 
</body>
</html>

这是我正常的JS代码。它确实有效。但我的问题是我希望这个代码在yii2中运行。

在yii2 gridview中,这是我的代码,我需要运行这个JS代码,如何在yii2中传递id来运行此代码?

我的yii2代码是:

 [
                    'format' => 'raw',
                    'attribute' => 'title',
                    'value' => function($model, $key) {
                        if ($model->book->language == 1) {
                            $m = "<p class='n'>" . $model->book->title . "</p>";
                        } else {
                            $m = $model->book->title;
                        }
                        return $m;
                    }
                ],

1 个答案:

答案 0 :(得分:0)

在视图的最后,尝试添加以下代码。

<?php

$script = <<< JS

//here you write all your javascript stuff
alert();

JS;
$this->registerJs($script);

?>