チェックボックスの選択を許可する ccheckboxcolumn を持つ cgridview があります。ただし、動的な値に基づいて人が選択できるチェックボックスの数を制限したいと考えています。
私は少し研究しましたが、これは私がやったことです。しかし、うまくいかないようです。誰でも助けることができますか?
私のコードは以下の通りです:
cgridview ccheckboxcolumn:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'v-grid',
'dataProvider'=>$dataProvider,
'summaryText'=>'',//remove display result count
'columns'=>array(
array(
'id'=>'autoId',
'class'=>'CCheckBoxColumn',
'header'=>'',
'selectableRows'=>'null',
'cssClassExpression'=>'$data->status=="accepted" ? "hidden" : ""',
),
),
));
cActiveForm の Ajax 送信ボタン:
echo CHtml::ajaxSubmitButton('Submit',CHtml::normalizeUrl(array('default/viewV','render'=>false)),array('success'=>'js: function(data) {
$("#view").dialog("open");
}'),array('id'=>'submitButton'));
チェックボックスの選択を制限する Javascript:
Yii::app()->clientScript->registerScript('restrictCbSelection','$("#submitButton").click(function() {
var checkboxCount=$("#v-grid").yiiGridView("getChecked","autoId");
if(checkboxCount.length>6) //will be changing 5 to a variable and that variable value will change dynamically
{
alert("Pls select only 6 items or less");
return false;
}
else console.log(checkboxCount);
});');