上一节已经增加了工具栏,但为了实现编辑,删除,发布等操作,我们还需要使用复选框。没有复选框我们就不能确定需要编辑的记录是哪一条。复选框就能帮我们解决这个问题
了解如何使用复选框
[下载文件:]com_zmaxbookv2.0.2_2020-11-11_for_j3x.zip
安装最新的v2.0.1版本后就看到如下的截图:
复选框的实现在代码在布局文件中,也就是views/items/tmpl/default.php文件
<form action="index.php?option=com_zmaxbook&view=items" method="post" name="adminForm" id="adminForm"> <div id="j-sidebar-container" class="span2"> <?php echo $this->sidebar; ?> </div> <div id="j-main-container" class="span10"> <table class="table table-striped"> <thead> <tr> <th width="20px"><?php echo JHtml::_('grid.checkall');?></th> <th >标题</th> <th >作者</th> <th >价格</th> <th >ID</th> </tr> </thead> <tbody> <?php foreach ($this->items as $i => $item) :?> <tr> <td><?php echo JHTML::_('grid.id',$i,$item->id);?></td> <td><?php echo $item->title; ?></td> <td><?php echo $item->author; ?></td> <td><?php echo $item->price; ?></td> <td><?php echo $item->id; ?></td> </tr> <?php endforeach; ?> </tbody> </table> </div> <div> <input type="hidden" name="task" value=""/> <input type="hidden" name="boxchecked" value="" /> <?php echo JHtml::_('form.token');?> </div> </form>
主要的代码有两个,一个是checkall(全选),另外一个是grid.单独的一个checbox.
<?php echo JHtml::_('grid.checkall');?>
这个段代码会输出一个checkbox复选框,点击后会自动的选中当前表单中的所有checkbox.
<?php echo JHTML::_('grid.id',$i,$item->id);?>
这段代码会在每一条记录的前面输出一个复选框,当用户点击选中的时候,就会将第三个值 $item->id (选中记录的ID)设置为chekbox的值。
为了配合复选框的使用,需要有一个表单与之配合。所以你会看到在这一版本的布局文件中,我们增加了表单元素。
<form action="index.php?option=com_zmaxbook&view=items" method="post" name="adminForm" id="adminForm">
<div> <input type="hidden" name="task" value=""/> <input type="hidden" name="boxchecked" value="" /> <?php echo JHtml::_('form.token');?> </div> </form>
请重点注意:在joomla后台组件中,我们一般将form的ID和name设置为adminForm. 有一些JS代码会依赖form的ID属性和name属性。
为了提交checkbox的只,我们需要在表单中增加了input name属性设置为boxchecked.
评论 (0)