从cgridview中的按钮访问$ data变量

gry*_*yfi 4 php yii cbuttoncolumn

有没有办法,$data从CButtonColumn 访问位于变量中的模型?下面的代码不起作用.

array(
'class' => 'CButtonColumn',
'template' => '{test}',
    'buttons' => array(
        'test' => array(
            'label' => 'Select',
            'click' => 'js:function() { <b>alert($data->_id);</b> return false;}',
        ),
    ),
),
Run Code Online (Sandbox Code Playgroud)

小智 5

可以从jquery访问可见属性:

'click'=>'js:function(){alert("first element in cgridview is"+$(this).parent().parent().children(":nth-child(1)").text());}'
Run Code Online (Sandbox Code Playgroud)


nan*_*ult 5

其中唯一的领域$data是允许在CButtonColumn类 url,imageUrlvisible.要将id传递给javascript click事件,您可以将此ID放在url中并从DOM中获取它.这是非常粗鲁的黑客,但很容易实现.

array(
    'class' => 'CButtonColumn',
    'template' => '{test}',
    'buttons' => array(
        'test' => array(
            'label' => 'Select',
             /* set id */
            'url' => $data->id, 
             /* retrieve id from this DOM element (jQuery) */
            'click' => 'function() { alert( $(this).attr("href"); return false;}',
        ),
    ),
),
Run Code Online (Sandbox Code Playgroud)

如果您正在寻找更清晰的编码,您可以在CDataColumn课程中工作