我正在尝试向我的按钮添加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($('input[name="checkbox_compare"]:checked'),
function(n, i){
return n.value;
}).join(',');
if (isNotEmpty(str)) { window.location.href = "/wm/frontend/www/compare/?ids="+str; }
else { alert("Select atleast one"); }" name="yt0" type="button" value="Compare" />
对于Yii来说还是新手,但是想知道是否有更好的方式/更清洁的方法来做到这一点?
答案 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()'));
?>