CHtml:按钮onclick事件

时间:2014-07-24 05:10:58

标签: php jquery yii

我正在尝试向我的按钮添加onlick事件。这是我的代码

 CHtml::button("Compare",
array('class'=>"btn btn-warning",'onclick'=>'js:var str = $.map($(\'input[name="checkbox_compare"]:checked\'), 
function(n, i){
return n.value;}).join(\',\'); 
if (isNotEmpty(str)) { window.location.href = "'.url('/compare/').'?ids="+str; } else { alert("Select atleast one"); }'))

代码工作正常,但生成一个看起来像这样的HTML

  <input class="btn btn-warning" onclick="js:var str = $.map($(&#039;input[name=&quot;checkbox_compare&quot;]:checked&#039;), 
function(n, i){
return n.value;
}).join(&#039;,&#039;); 
if (isNotEmpty(str)) { window.location.href = &quot;/wm/frontend/www/compare/?ids=&quot;+str; } 
else { alert(&quot;Select atleast one&quot;); }" name="yt0" type="button" value="Compare" />
对于Yii来说还是新手,但是想知道是否有更好的方式/更清洁的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您不想使用js文件,我会这样做:

<?php
    Yii::app()->clientScript->registerScript('myscript', '
    function myAwesomeFunction() {
        var myVar = 12;
        alert(myVar);
    }
    ', CClientScript::POS_END);

    echo CHtml::button("Compare", array('class ' => "btn btn-warning", 'onclick' => 'js:myAwesomeFunction()'));
?>