我CGridView
与CCheckBoxColum
:
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'documento-financeiro-grid',
'dataProvider' => $provider,
'filter' => null,
'columns' => array(
array(
'id' => 'autoId',
'class' =>'CCheckBoxColumn',
'selectableRows' => '50',
'checked'=>'alert('
),
array(
'name' => 'id',
'htmlOptions' => array('style' => 'width: 50px;'),
'headerHtmlOptions' => array('style' => 'width: 50px;'),
),
array(
'name' => 'numero',
'htmlOptions' => array('style' => 'width: 60px;'),
'headerHtmlOptions' => array('style' => 'width: 60px;'),
),
),
));
我想在检查一行时显示一个对话框窗口,但是我需要知道检查了哪个行的ID,有人可以帮助我吗?
答案 0 :(得分:0)
我会尝试编写代码的样子。
你必须编写一些javascript来监听change
事件的复选框(当点击复选框时会触发此事件)。
我已经使用了一个jquery选择器来根据它们所在的列选择复选框(这是因为你的网格可能有其他带复选框的列 - 我们不想触摸它们)。
在我的示例代码中,我假设您的复选框具有以documento_financeiro-grid_c0
开头的ID(这是Yii默认提供的ID)。如果不是这样的话,请更改。
如果您的复选框已选中,则行ID存储在变量item_id
中,变量item_checked
包含true
,如果未选中,则false
包含$('#documento-financeiro-grid input[id^=documento-financeiro-grid_c0]').change(function() {
var item_id = $(this).val();
var item_checked = $(this).prop('checked');
if (item_id === "1") {
console.log('top checkbox was clicked on');
} else {
console.log('ID was'+item_id);
}
});
。
{{1}}
我希望这会有所帮助。