首先分别使用不同name的checkbox放在同一个tr的两个td内。并为他们设置onclick事件来改变点击后状态。

php:

 str[info]="<table  align='center' class='hovertable'>

                     <tr> <th >权限</th><th >允许</th><th >拒绝</th></tr>
<tr align='center' onmouseover='this.style.backgroundColor=#ffff66;' onmouseout='this.style.backgroundColor=#d4e3e5;'>
<td>{$perm['add']}用户</td>
<td><label><input type='checkbox' name='box' value='padd' $paddcheck onclick='changeallow(this);'></label></td>
<td><label><input type='checkbox' name='boxr' value='padd' $paddruse onclick='changerefuse(this);'></label></td>
</tr>
<tr align='center' onmouseover='this.style.backgroundColor='#ffff66';' onmouseout='this.style.backgroundColor='#d4e3e5';'>
<td>{$perm['update']}用户信息</td>
<td><label><input type='checkbox' name='box' value='pupdate' $pupdatecheck onclick='changeallow(this);'></label></td>
<td><label><input type='checkbox' name='boxr' value='pupdate' $pupdateruse onclick='changerefuse(this);'></label></td>
</tr>
<tr align='center' onmouseover='this.style.backgroundColor='#ffff66';' onmouseout='this.style.backgroundColor='#d4e3e5';'>
<td>{$perm['del']}用户</td>
<td><label><input type='checkbox' name='box' value='pdelect' $pdelectcheck onclick='changeallow(this);'></label></td>
<td><label><input type='checkbox' name='boxr' value='pdelect' $pdelectruse onclick='changerefuse(this);'></label></td> </tr>
<tr align='center' onmouseover='this.style.backgroundColor='#ffff66';' onmouseout='this.style.backgroundColor='#d4e3e5';'>
<td>{$menu['main_pay_manage']}</td>
<td><label><input type='checkbox' name='box' value='pbillmg' $pbillmgcheck onclick='changeallow(this);'></label></td>
<td><label><input type='checkbox' name='boxr' value='pbillmg' $pbillmgruse onclick='changerefuse(this);'></label></td>
</tr>
<tr align='center' onmouseover='this.style.backgroundColor='#ffff66';' onmouseout='this.style.backgroundColor='#d4e3e5';'>
<td>{$menu['main_electrovalence_set']}</td>
<td><label><input type='checkbox' name='box' value='ppriceset' $ppricesetcheck nclick='changeallow(this);'></label></td>
<td><label><input type='checkbox' name='boxr' value='ppriceset' $ppricesetruse click='changerefuse(this);'></label></td>
</tr>
</table>";

js:

function changeallow(obj) {
var tarchoose=document.getElementsByName("box");
var tarrefuse = document.getElementsByName("boxr");
for(var i=0;i<tarchoose.length;i++)
{
if(tarchoose[i].checked==true)
{
tarrefuse[i].checked=false;
}else{tarrefuse[i].checked=true;}
}
}
function changerefuse(obj) {
var tarchoose=document.getElementsByName("box");
var tarrefuse = document.getElementsByName("boxr");
for(var i=0;i<tarchoose.length;i++)
{
if(tarrefuse[i].checked==true)
{
tarchoose[i].checked=false;
}else{tarchoose[i].checked=true;}
}
}

使用checkbox做出radiobutton的效果的更多相关文章

  1. 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)

    引言 我们在android的APP开发中有时候会碰到提供一个选项列表供用户选择的需求,如在投票类型的项目中,我们提供一些主题给用户选择,每个主题有若干选项,用户对这些主题的选项进行选择,然后提交. 本 ...

  2. Android零基础入门第20节:CheckBox和RadioButton使用大全

    原文:Android零基础入门第20节:CheckBox和RadioButton使用大全 本期先来学习Button的两个子控件,无论是单选还是复选,在实际开发中都是使用的较多的控件,相信通过本期的学习 ...

  3. as3如何做出残影效果

    在页游中,时不时能看到人物做一些快速移动动作如冲刺时,有残影效果,强化了画面表现.实际人肉眼之所以能看到残影的效果,是因为观察到的物体会在人视线中残留几十毫秒时间,当运动物体运动太快时,人肉眼所见未能 ...

  4. MVC小系列(十八)【给checkbox和radiobutton添加集合的重载】

    mvc对DropDownListFor的重载很多,但对checkbox和radiobutton没有对集合的重载 所以该讲主要针对集合的扩展: #region 复选框扩展 /// <summary ...

  5. 设置ToggleButton、Switch、CheckBox和RadioButton的显示效果

    ToggleButton.Switch.CheckBox和RadioButton都是继承自android.widget.CompoundButton,意思是可选择的,因此它们的用法都很类似.Compo ...

  6. 教你在浏览器里做出EXCEL的效果

    在浏览器里做出EXCEL的效果,复制.粘贴.设置公式.双击编辑等效果,如果自己开发的话,比较麻烦,建议使用成熟的插件.这里介绍使用智表ZCELL插件,实现用户快捷操作. 首先下载插件,引入到页面中,一 ...

  7. WPF:CheckBox竖向的滑块效果

    原文:WPF:CheckBox竖向的滑块效果 之前做了一个横向的滑块效果,<WPF:CheckBox滑块效果>,其实我觉得那个不好看,今天又做了一个竖向的玩. <Style Targ ...

  8. Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码

    随着Jquery的作用越来越大,使用的朋友也越来越多.在Web中,由于CheckBox. Radiobutton . DropDownList等控件使用的频率比较高,就关系到这些控件在Jquery中的 ...

  9. 零元学Expression Design 4 - Chapter 6 教你如何在5分钟内做出文字立体感效果

    原文:零元学Expression Design 4 - Chapter 6 教你如何在5分钟内做出文字立体感效果 又来一篇五分钟做设计啦~ 本篇将教大家如何运用Design内建工具Blend Path ...

随机推荐

  1. contiki-定时器etimer

    Contiki内核是基于事件驱动和Protothreads机制,事件既可以是外部事件(比如按键,数据到达),也可以是内部事件(如时钟中断).定时器的重要性不言而喻,Contiki提供了5种定时器模型, ...

  2. Michael Schatz - 序列比对课程

    Michael Schatz - Cold Spring Harbor Laboratory 最近在研究 BWA mem 序列比对算法,直接去看论文,看不懂,论文就3页,太精简了,好多背景知识都不了解 ...

  3. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  4. SQLserver2008数据库备份和还原问题(还原是必须有完整备份)

    首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用,如果其它问题,请搜索别的大牛的解决办法,本方法只适合菜鸟. 这个连接是站长大人的异常恢复方法,有问题可以自己学习http://w ...

  5. 【安全测试】sqlmap安装方法

    参考资料:http://jingyan.baidu.com/article/60ccbceb64cc2064cbb19748.html SQLMap是利用Python语言写的,所以需要将Python这 ...

  6. MySQL exists的用法介绍

    有一个查询如下: 1 SELECT c.CustomerId, CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT Or ...

  7. SAP SE11 网格布局显示

    SE11 进入数据显示界面后 在  Settings -> User Parameters,  Data Browser 页面 勾选ALV Grid display 即可.

  8. Node.js EventEmitter(事件队列)

    Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.read ...

  9. TortoiseGit 连接Git服务器不用每次输入用户名和密码的方法

    每次git push 都要输入用户名和密码. 虽然安全,但在自己电脑上每次都输有些麻烦,如何记住用户名和密码呢? 试了很多方法,找到这个最简单,亲测可行. 当你配置好git后,在C盘C:\Users\ ...

  10. php截取utf-8中文字符串乱码的解决方法

    /** * PHP截取UTF-8字符串,解决半字符问题. * 英文.数字(半角)为1字节(8位),中文(全角)为2字节 * @return 取出的字符串, 当$len小于等于0时, 会返回整个字符串 ...