halooo kk2 para master Yii.
newbie mau nanya lagi nih.
Dalam Cgridview saya menggunakan CCheckBoxColumn.
Saya punya link event untuk select dan deselect gimana caranya ya gan?.
<?php echo CHtml::link('Select All','#',array());?>
<?php echo CHtml::link('Deselect All','#',array());?>
ane bingung merujuknya kemana
petra
(Petra Barus)
April 28, 2011, 12:53pm
2
pake jQuery aja…
si linknya dikasih css id,
si checkbox2nya dikasih css class
$("#selectButton").click(function(){
$(".checkbox").val(true);
//ini gak inget fungsi buat ngasi checknya gimana <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/tongue.gif' class='bbc_emoticon' alt=':P' /> liat di manual jQuery aja
})
petra
(Petra Barus)
April 28, 2011, 12:58pm
3
eh ralat deng…
kayak gini mungkin
$("#selectAll").click(function(){
$('.checkbox').attr('checked',true);
});
$("#deselectAll").click(function(){
$('.checkbox').attr('checked',false);
});
something like that lah
belum saya cobain juga sih, hehe…
semoga bener…
junxiong
(Garry3peace)
April 28, 2011, 4:25pm
4
Tidak tau versi bro Petra benar atau tidak. Tetapi pas cek di stackoverflow (juga biasa yang saya pakai) mau ceklis sebuah checkbox sih pakai cara gini
$('#myCheckbox').attr('checked','checked');
kalau mau uncheck pakai ini
$('.myCheckbox').removeAttr('checked');
petra
(Petra Barus)
April 29, 2011, 3:10am
5
iya, saya ngeliat di stackoverflow juga gitu sih,
cuman yg saya tulis juga dulu pernah saya coba berhasil kayaknya,
kalo gagal ya pake yg versi di atas aja
junxiong:
Tidak tau versi bro Petra benar atau tidak. Tetapi pas cek di stackoverflow (juga biasa yang saya pakai) mau ceklis sebuah checkbox sih pakai cara gini
$('#myCheckbox').attr('checked','checked');
kalau mau uncheck pakai ini
$('.myCheckbox').removeAttr('checked');
setelah ane bongkar pake firebug, ane dapet ini gan
//skdata itu nama class , nama tablenya sk_data
<input type="checkbox" id="skdata-grid_c0_all" name="skdata-grid_c0_all" value="1" class="select-on-check-all">
ane coba masukin code kyk gini
<?php echo CHtml::link('Select All','#',array( ('skdata-grid_c0_all').attr('select-on-check-all'));?>
ada pesan kykgini gan
Fatal error: Call to undefined function attr()
junxiong
(Garry3peace)
April 29, 2011, 7:02am
7
<?php echo CHtml::link('Select All','#',array( 'onclick'=>"('#skdata-grid_c0_all').attr('checked', 'checked')"));?>
coba diganti jadi begini~
junxiong:
<?php echo CHtml::link('Select All','#',array( 'onclick'=>"('#skdata-grid_c0_all').attr('checked', 'checked')"));?>
coba diganti jadi begini~
siip errornya hilang gan. Tapi tidak terjadi apa2. Gak ada yang berubah
petra
(Petra Barus)
April 29, 2011, 1:04pm
9
kalau gini gimana?
<?php
Yii::app()->clientScript->registerScript('check-js', '
$(\'#selectAllLink\').click(function(){
$(\'.myCheckBox\').attr(\'checked\',\'checked\');
});
$(\'#deselectAllLink").click(function(){
$(\'.myCheckbox\').removeAttr(\'checked\');
});
');
?>
<?php echo CHtml::link('Select All', '#', array('id' => 'selectAllLink'));?>
<?php echo CHtml::link('Deselect All', '#', array('id' => 'deselectAllLink'));?>
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
//columns
array(
'class' => 'CCheckBoxColumn',
'cssClassExpression' => 'myCheckBox',
),
),
));
?>
ane udah ikutin saran dari agan Petra
ane coding kayak gini
<?php
Yii::app()->clientScript->registerScript('check-js', "
$('#selectAllLink').click(function(){
$('#myCheckBox').attr('checked','checked');
});
$('#deselectAllLink').click(function(){
$('.myCheckbox').removeAttr('checked');
});
");
?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'skdata-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'selectableRows' => 2,
'columns'=>array( array(
'class'=>'CCheckBoxColumn',
'cssClassExpression' => 'myCheckBox',
),
),
));
?>
<?php echo CHtml::link('Select All', '#', array('id' => 'selectAllLink'));?>
<?php echo CHtml::link('Deselect All', '#', array('id' => 'deselectAllLink'));?>
Trus ada pesan errornya gan.
Use of undefined constant myCheckBox - assumed ‘myCheckBox’
Asumsi ane sih errornya dibaris ini
'cssClassExpression' => 'myCheckBox',
Pas ane coba ganti jadi
'cssClassExpression' => 'CCheckBoxColumn',
Ternyata sama aja error juga.
Kira2 kenapa ya gan?. Ane belum bisa bongkar2 Yii, maklum newbie .
petra
(Petra Barus)
May 2, 2011, 5:11am
11
'cssClassExpression' => '\'myCheckBox\'',
agan petra dan agan junxiong makasih sebelumnya atas kesedian membalas postingan saya.
saya coba saran dari agan petra
Alhamdulillah, error menghilang.
Tapi seperti biasa, tidak ada aksi apa2. Tidak ada yang berubah
Padahal klo ane cek pake firebug itu kode merujuknya ud bener
// hasil ngeliat pake firebug
<a id="selectAllLink" href="#">Select All</a>
<a id="deselectAllLink" href="#">Deselect All</a>
Hihihihi…kenapa ya gan?
ressaince
(Bob Hartanto)
May 2, 2011, 7:33am
13
coba bantu:
mungkin gini
<?php
Yii::app()->clientScript->registerScript('check-js', '
$("#selectAllLink").click(function(){
$(':checkbox').each(function(){
$(this).attr('checked','checked');
});
});
$("#deselectAllLink").click(function(){
$(':checkbox').each(function(){
$(this).attr('checked','false');
});
});
');
?>
ressaince:
coba bantu:
mungkin gini
<?php
Yii::app()->clientScript->registerScript('check-js', '
$("#selectAllLink").click(function(){
$(':checkbox').each(function(){
$(this).attr('checked','checked');
});
});
$("#deselectAllLink").click(function(){
$(':checkbox').each(function(){
$(this).attr('checked','false');
});
});
');
?>
mantabzzzz gan…setelah ane edit gabung hasil coding dari agan petra dan agan ressaince
Alhamdulillah berhasil…!!!. Makasih gan.
Ini coding perkawinannya.
<?php
Yii::app()->clientScript->registerScript('check-js', "
$('#selectAllLink').click(function(){
$(':checkbox').each(function(){
$(this).attr('checked','checked');
});
});
$('#deselectAllLink').click(function(){
$(':checkbox').each(function(){
//unchecked saya pake dari agan petra
$(this).removeAttr('checked');
});
});
");
?>
Thx buat agan petra, agan junxiong dan agan reisaince.
muach…muachh…
petra
(Petra Barus)
May 2, 2011, 8:02am
15
kalo pake ‘:checkbox’ ntar kalo nambah checkbox di luar grid bisa keselect juga loh
Gpp gan, kebetulan di page yang ini checkbox cuman di grid-nya aja.
Ntar klo bingung masalah checkbox ane mau nanya2 lagi sama agan2.
ressaince
(Bob Hartanto)
May 3, 2011, 12:22am
17
bisa juga kok gan biar yang diluar grid ga keselect.
dengan
'cssClassExpression' => 'myCheckBox',
maka
$('#selectAllLink').click(function(){
$(':checkbox').each(function(){
if($(this).attr("class")=="myCheckBox")$(this).attr('checked','checked');
});
});
$('#deselectAllLink').click(function(){
$(':checkbox').each(function(){
//unchecked saya pake dari agan petra
if($(this).attr("class")=="myCheckBox")$(this).removeAttr('checked');
});
});
dengan begitu checkbox diluar grid tidak akan ikut tercentang apabila ia tidak memiliki class="myCheckBox"
semoga ngerti
petra
(Petra Barus)
May 3, 2011, 1:51am
18
harusnya
<?php
Yii::app()->clientScript->registerScript('check-js', '
$(\'#selectAllLink\').click(function(){
$(\'.myCheckBox\').attr(\'checked\',\'checked\');
});
$(\'#deselectAllLink").click(function(){
$(\'.myCheckbox\').removeAttr(\'checked\');
});
');
?>
bisa dong yah…
ressaince:
bisa juga kok gan biar yang diluar grid ga keselect.
dengan
'cssClassExpression' => '\'myCheckBox\'',
maka
$('#selectAllLink').click(function(){
$(':checkbox').each(function(){
if($(this).attr("class")=="myCheckBox")$(this).attr('checked','checked');
});
});
$('#deselectAllLink').click(function(){
$(':checkbox').each(function(){
//unchecked saya pake dari agan petra
if($(this).attr("class")=="myCheckBox")$(this).removeAttr('checked');
});
});
dengan begitu checkbox diluar grid tidak akan ikut tercentang apabila ia tidak memiliki class="myCheckBox"
semoga ngerti
yang aq gak ngerti itu baris ini gan
'cssClassExpression' => '\'myCheckBox\'',
itu tanda ‘\’ apa maksudnya?. >>> ‘\‘myCheckBox\’’
petra
(Petra Barus)
May 3, 2011, 1:55am
20
itu soalnya dia di eval() jadi script PHP lagi,
$mycheckbox = 'myCheckBox';
$css = eval('$mycheckbox'); //$css = 'myCheckBox';
$css = eval('\'myCheckBox\''); //$css = 'myCheckBox';
$data->id = 1;
$css = eval('\'myCheckBox\'.$data->id'); //$css = 'myCheckBox1';
http://php.net/manual/en/function.eval.php