相关文章推荐
帅气的葡萄  ·  notifyItemRangeInserte ...·  1 年前    · 
绅士的抽屉  ·  %E5%BD%A9%E7%A5%A8%E6% ...·  1 年前    · 
胡子拉碴的松球  ·  TypeScript In ...·  1 年前    · 

使用表单验证时,CheckBox 是不可缺少的一部分。

由于浏览器兼容性,checkbox 会显示不同的样式,直接设置 input 的 backgroundColor 属性,不能改变checkbox 的背景颜色和样式。

下面是 Safari 浏览器 PC 端样式
Safari
下面是 Chrome 移动端样式
在这里插入图片描述
如果是用第三方库(例如 bootstrap),实际上是在原生的 input 上面进行改变,仍然不能解决浏览器兼容性问题。

所以,可以使用自定义的 CheckBox 解决这个问题

<div class="container">
  <input type="checkbox" />
  <div class="show-box" />
</div>

下面是自定义的CSS

.container {
  position: relative;
.container input:checked + .show-box {
  background: pink;
  /* 这里是背景颜色,可以自定义设置 */
.container .show-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 2px;
  border: 1px solid #d8d8d8;
  /* 这里是对勾颜色,可以自定义,和勾选框背景色色差较大 */
  background: white;
.container .show-box:before {
  content: '';
  position: absolute;
  top: 2px;
  left: 4px;
  width: 5px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);

可以根据实际需求设置背景色了。

然后,需要把默认的勾选框设置成透明,层级设置较高,那么界面点击勾选框就可以改变数据变化了。
如果这里的对勾选项是响应式的,那么根据 value 绑定 input 即可实现。
在这里插入图片描述

使用表单验证时,CheckBox 是不可缺少的一部分。由于浏览器兼容性,checkbox 会显示不同的样式,直接设置 input 的 backgroundColor 属性,不能改变checkbox 的背景颜色和样式。下面是 Safari 浏览器 PC 端样式下面是 Chrome 移动端样式如果是用第三方库(例如 bootstrap),实际上是在原生的 input 上面进行改变,仍然不能...
原理:首先把input元素隐藏掉,然后用CSS设置label元素(其他元素也可以)的样式,选中时的样式使用input:check+label选中label,无须使用图片和JS html代码 <div class=radio> <input type=checkbox id=sex1> <label for=sex1></label> <div class=radio> <input type=checkbox id=sex2> <label for=sex2></label> 女
在引用input框的checkbox属性时,选中后会出现数据已经刷新,checkbox选中状态不会改变。这时在事件触发后可以调用this.$forceUpdate(),强制刷新页面解决这个问题。  input框可以加入readonly=”readonly”禁止更改 ps:vue中关于checkbox的问题 在vue中写checkbox时,发现出现问题:当点击一个选项时,输出的数组为空,当取消或者点击下一个选项时,才会出现该选项值且下一个选项值不会出现: <template> <div class='mycheck' click='check()'> <input type=
ddl语言自定义数据库字段<br><!--#include virtual="/public/back_top.asp"--><br><html><br><head><br><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br><link href="member/css/common.css" rel="stylesheet" type="text/css"><br></head><br> <body> <br> <div style="margin-top:15px;"><br> <%<br> sFileName = "alter_manage.asp"<br> tableName = "C_alter"<br> tableName2 = "product"<br> action = Trim(Request.QueryString("action"))<br> %><br> <br> <%<br> Select Case action<br> case ""<br> Call ShowContent()<br> case "add"<br> Call add()<br> case "addsave"<br> Call addsave()<br> case "modify"<br> Call modify()<br> case "modifysave"<br> Call modifysave()<br> case "delall"<br> Call delall()<br> End Select<br> %><br> <br> <%<br> Sub ShowContent()<br> Call gRsClose()<br> sSql = "select * from view_alter"<br> <br> oRs.Open sSql,oConn,1,1<br> <br> %><br> <table width="98%" align=center cellpadding="3" cellspacing=1 bgcolor="#cccccc"><br> <tbody><br> <Form method="post" id="form1" name="form1"><br> <tr bgcolor='#efefef' height='20'><td colspan="5" align='center' style='font-weight:bold;'>字 段 信 息 管 理</td><br> <td align='center' style='font-weight:bold;'><a href="<%=sFileName%>?action=add">添加</a></td><br> </tr><br> <tr bgcolor='#FCFCFC' height='20'><br> <td width="5%" align="center">选择</td><br> <td width="16%" align="center">产品类别</td><br> <td width="14%" align="center">字段类型</td><br> <td width="20%" align="center">字段名称</td><br> <td width="35%" align="center">字段意义</td><br> <td width="10%" align="center">操作</td><br> </tr><br> <%<br> do while not oRs.eof and not oRs.bof <br> select case oRs("a_type")<br> case "nvarchar(255)"<br> a_type = "文本类型"<br> case "int"<br> a_type = "整数类型"<br> case "float"<br> a_type = "浮点类型"<br> case else<br> a_type = "未知类型"<br> end select<br> %><br> <tr bgcolor='#ffffff' height='20'><br> <td width="5%" align="center"><%Response.Write("<input type='checkbox' id='checkzi' name='checkzi' value='" & oRs("a_id") & "'>" & vbCrlf)%></td><br> <td width="16%" align="center"><%Response.Write(oRs("c_name"))%></td><br> <td width="14%" align="center"><%Response.Write(a_type)%></td><br> <td width="20%" align="center"><%Response.Write(oRs("a_name"))%></td><br> <td width="35%" align="center"><%Response.Write(oRs("a_detail"))%></td><br> <td width="10%" align="center"><a href="<%=sFileName%>?action=delall&checkzi=<%=oRs("a_id")%>">删除</a> <a href="<%=sFileName%>?action=modify&a_id=<%=oRs("a_id")%>">修改</a> </td><br> </tr><br> <br> <br> <%<br> oRs.movenext<br> loop<br> %><br> <tr bgcolor='#ffffff' height='20'><br> <td colspan="6" align="center"><br> <%<br> Response.Write("<input type='checkbox' id='checkall' name='checkall' onclick='selectAll();'><font color='#ff0000'><a style='cursor:hand;'>全/反选</a></font>" & vbCrlf)<br> Response.Write("<input type='button' value='删除所选' class='input_submit' onClick=""checkSelect('" & sFileName & "','?action=delall');"">" & vbCrlf)<br> %><br> </td><br> </tr><br> </form><br> </tbody><br> </table><br> <%<br> Call gRsClose()<br> End Sub<br> %><br> <br> <br> <%<br> Sub add()<br> %><br> <Script Language=JavaScript><br> function doSubmit(){<br> if(parseInt(document.getElementById("a_classid").options[document.getElementById("a_classid").selectedIndex].value)==0)<br> {<br> alert("请选择产品类型!");<br> return false;<br> }<br> <br> if(parseInt(document.getElementById("a_type").options[document.getElementById("a_type").selectedIndex].value)==0)<br> {<br> alert("请选择字段类型!");<br> return false;<br> }<br> if(document.getElementById("a_name").value=="")<br> {<br> alert("字段名称不能为空!");<br> document.getElementById("a_name").select();<br> return false;<br> } <br> <br> if(document.getElementById("a_detail").value=="")<br> {<br> alert("请填写该字段的意义!");<br> document.getElementById("a_detail").select();<br> return false;<br> }<br> <br> }<br> </script><br> <table width="58%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#DEDFDE"><br> <form name="myform" method="post" action="<%=sFileName%>?action=addsave" onSubmit="return doSubmit();"><br> <input type="hidden" name="Action" value="AddSave"><br> <tr><br> <td colspan="4" bgcolor="#eeeeee"><div align="center"><strong>字 段 信 息 <br> 添 加</strong></div></td><br> </tr><br> <tr><br> <td bgcolor="#FFFFFF">选择类别:</td><br> <td width="580" colspan="3" nowrap bgcolor="#FFFFFF"><%=gMakeClassSelect("a_classid","p_class",0)%></td><br> </tr><br> <tr><br> <td nowrap bgcolor="#FFFFFF">字段类型:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><label><br> <select name="a_type" class="INPUT" id="a_type"><br> <option value="0" selected>请您选择类型</option><br> <option value="int">整数型</option><br> <option value="nvarchar(255)">文本型</option><br> <option value="float">浮点型</option><br> </select><br> </label></td><br> </tr><br> <tr><br> <td nowrap bgcolor="#FFFFFF">字段名称:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><input name="a_name" type="text" id="a_name" size="80" maxlength="50" class="input_text" > </td><br> </tr><br> <tr><br> <td bgcolor="#FFFFFF">字段意义:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><input name="a_detail" type="text" id="a_detail" size="80" maxlength="50" class="input_text" ></td><br> </tr><br> <br> <tr bgcolor="#efefef" height="30"><br> <td colspan="4" align="center"><br> <input type="submit" name="Submit" value=" 提 交 " class="input_submit" ><br> <input type="reset" name="Submit" value="重 置" class="input_submit"><br> </td><br> </tr><br> </form><br> </table><br> <%<br> End Sub<br> %><br> <br> <br> <%<br> Sub addsave()<br> a_classid = GetSafeStr(Trim(Request.Form("a_classid")))<br> a_name = GetSafeStr(Trim(Request.Form("a_name")))<br> a_detail = GetSafeStr(Trim(Request.Form("a_detail")))<br> a_type = GetSafeStr(Trim(Request.Form("a_type")))<br> a_regtime = now() <br> '判断主表中要添加的字段是否存在<br> eSql = "select * from syscolumns where id=object_id('"& tableName2 &"') and name='"& a_name &"'"<br> Call gRsClose() <br> oRs.Open eSql,oConn,1,3<br> if not oRs.EOF then<br> Call ErrorMsg(sFileName,"主表中字段已经存在在,三秒后返回",1)<br> end if<br> Call gRsClose() <br> <br> '将字段相关信息添加到从表<br> sSql = "select * from "& tableName &" where 1=1"<br> Call gRsClose() <br> oRs.Open sSql,oConn,1,3<br> oRs.AddNew()<br> oRs("a_classid") = a_classid<br> oRs("a_name") = a_name<br> oRs("a_detail") = a_detail<br> oRs("a_type") = a_type<br> oRs("a_regtime") = a_regtime<br> oRs.Update()<br> <br> '添加字段<br> <br> oConn.Execute("ALTER TABLE "& tableName2 &" ADD "& a_name &" "& a_type &"")<br> Call ErrorMsg(sFileName,"添加字段成功,三秒后返回",1)<br> Call gRsClose() <br> End Sub<br> %><br> <br> <br> <br> <%<br> Sub modify()<br> %><br> <Script Language=JavaScript><br> function doSubmit(){<br> if(parseInt(document.getElementById("a_classid").options[document.getElementById("a_classid").selectedIndex].value)==0)<br> {<br> alert("请选择产品类型!");<br> return false;<br> }<br> <br> if(parseInt(document.getElementById("a_type").options[document.getElementById("a_type").selectedIndex].value)==0)<br> {<br> alert("请选择字段类型!");<br> return false;<br> }<br> if(document.getElementById("a_name").value=="")<br> {<br> alert("字段名称不能为空!");<br> document.getElementById("a_name").select();<br> return false;<br> } <br> <br> if(document.getElementById("a_detail").value=="")<br> {<br> alert("请填写该字段的意义!");<br> document.getElementById("a_detail").select();<br> return false;<br> }<br> <br> }<br> </script><br> <%<br> Call gRsClose()<br> a_id = Trim(Request.QueryString("a_id"))<br> sSql = "select * from view_alter where a_id = "& a_id<br> oRs.Open sSql,oConn,1,1<br> If not oRs.eof and not oRs.bof Then<br> a_classid = oRs("a_classid")<br> a_name = oRs("a_name")<br> a_detail = oRs("a_detail")<br> a_type = oRs("a_type")<br> End If<br> Call gRsClose()<br> %><br> <table width="58%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#DEDFDE"><br> <form name="myform" method="post" action="<%=sFileName%>?action=modifysave&a_id=<%=a_id%>" onSubmit="return doSubmit();"><br> <input type="hidden" name="Action" value="AddSave"><br> <tr><br> <td colspan="4" bgcolor="#eeeeee"><div align="center"><strong>字 段 信 息 <br> 添 加</strong></div></td><br> </tr><br> <tr><br> <td bgcolor="#FFFFFF">选择类别:</td><br> <td width="580" colspan="3" nowrap bgcolor="#FFFFFF"><%=gMakeClassSelect("a_classid","p_class",a_classid)%></td><br> </tr><br> <tr><br> <td nowrap bgcolor="#FFFFFF">字段类型:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><label><br> <select name="a_type" class="INPUT" id="a_type"><br> <option value="0" <%If a_type="" Then Response.Write("selected")%>>请您选择类型</option><br> <option value="int" <%If a_type="int" Then Response.Write("selected")%>>整数型</option><br> <option value="nvarchar(255)" <%If a_type="nvarchar(255)" Then Response.Write("selected")%>>文本型</option><br> <option value="float" <%If a_type="float" Then Response.Write("selected")%>>浮点型</option><br> </select><br> </label></td><br> </tr><br> <tr><br> <td nowrap bgcolor="#FFFFFF">字段名称:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><input name="a_name" type="text" class="input_text" id="a_name" value="<%=a_name%>" size="80" maxlength="50" > </td><br> </tr><br> <tr><br> <td bgcolor="#FFFFFF">字段意义:</td><br> <td colspan="3" nowrap bgcolor="#FFFFFF"><input name="a_detail" type="text" class="input_text" id="a_detail" value="<%=a_detail%>" size="80" maxlength="50" ></td><br> </tr><br> <br> <tr bgcolor="#efefef" height="30"><br> <td colspan="4" align="center"><br> <input type="submit" name="Submit" value=" 修 改 " class="input_submit" ><br> <input type="reset" name="Submit" value="重 置" class="input_submit"><br> </td><br> </tr><br> </form><br> </table><br> <%<br> End Sub<br> %><br> <br> <%<br> Sub modifysave()<br> a_classid = GetSafeStr(Trim(Request.Form("a_classid")))<br> a_name = GetSafeStr(Trim(Request.Form("a_name")))<br> a_detail = GetSafeStr(Trim(Request.Form("a_detail")))<br> a_type = GetSafeStr(Trim(Request.Form("a_type")))<br> a_regtime = now()<br> a_id = Trim(Request.QueryString("a_id"))<br> <br> <br> '将字段相关信息添加到从表<br> sSql = "select * from "& tableName &" where a_id = "& a_id <br> Call gRsClose() <br> oRs.Open sSql,oConn,1,3<br> <br> aname = oRs("a_name")<br> atype = oRs("a_type")<br> on error resume next<br> oRs("a_classid") = a_classid<br> '判断主表中是否有相同的字段(保持主从表中的数据一致)<br> set rs1=oConn.Execute("select 1 from syscolumns where id=object_id('"& tableName2 &"') and name='"& a_name &"'")<br> If rs1.eof and rs1.bof Then<br> oRs("a_name") = a_name<br> End If<br> rs1.close()<br> oRs("a_detail") = a_detail<br> oRs("a_type") = a_type<br> oRs.Update()<br> <br> If a_name<>aname Then<br> '修改字段名称(判断主表中是否有相同的字段)<br> oConn.Execute("if not exists(select 1 from syscolumns where id=object_id('"& tableName2 &"') and name='"& a_name &"') EXEC sp_rename '"& tableName2 &".["& aname &"]', '"& a_name &"', 'COLUMN'")<br> End If<br> If a_type<>atype Then<br> '修改字段类型<br> oConn.Execute("ALTER TABLE "& tableName2 &" ALTER COLUMN "& a_name &" "& a_type &"")<br> End If<br> <br> Call ErrorMsg(sFileName,"修改字段成功,三秒后返回",1)<br> Call gRsClose()<br> End Sub<br> %><br> <br> <%<br> Sub delall()<br> checkzi = Trim(Request("checkzi"))<br> If checkzi <> "" Then<br> <br> Dim z1<br> z1 = tableName<br> Dim temp_id,last_id<br> last_id="("<br> temp_id = Split(Request("checkzi"),",")<br> <br> For i=0 To UBound(temp_id)<br> last_id = last_id & Trim(temp_id(i)) & ","<br> Next<br> last_id = Left(last_id,Len(last_id)-1)<br> last_id = last_id & ")"<br> 'last_id为最终要删除的记录ID<br> <br> '取出要删除的对应字段<br> sSql = "select a_name from "& z1 &" where a_id in " & last_id<br> Call gRsClose()<br> oRs.Open sSql,oConn,1,1<br> dim a_names<br> a_names = ""<br> jj=1<br> do while not oRs.eof and not oRs.bof<br> If jj <> oRs.recordcount Then<br> a_names = a_names & oRs("a_name") &","<br> Else<br> a_names = a_names & oRs("a_name")<br> End If<br> oRs.movenext<br> jj = jj + 1<br> loop<br> Call gRsClose()<br> <br> '删除主表对应字段<br> a_name = Split(a_names,",")<br> for i=0 to Ubound(a_name)<br> oConn.Execute("ALTER TABLE "& tableName2 &" DROP COLUMN "& a_name(i) &"")<br> next<br> <br> '删除从表中字段的意义信息<br> sSql = "delete from " & z1 & " where a_id in " & last_id<br> oConn.Execute(sSql)<br> Call ErrorMsg(sFileName,"成功删除所选记录,三秒后将返回……",1)<br> End If<br> End Sub<br> %><br> </div><br> </body><br></html><br><!--#include virtual="/public/back_bottom.asp"-->
5.2.1. Ext.MessageBox.alert() 5.2.2. Ext.MessageBox.confirm() 5.2.3. Ext.MessageBox.prompt() 5.3. 如果你想的话,可以控制得更多 5.3.1. 可以输入多行的输入框 5.3.2. 再看一个例子呗 5.3.3. 下一个例子是进度条 5.3.4. 动画效果,跳出来,缩回去 5.4. 让弹出窗口,显示我们想要的东东,比如表格 5.4.1. 2.0的弹出表格哦 5.4.2. 向window里加表格 5.4.3. 把form放进对话框里 6. 奔腾吧!让不同的浏览器里显示一样的布局。 6.1. 有了它,我们就可以摆脱那些自称ui设计师的人了。 6.2. ViewPort对整个窗口布局 6.3. 脑袋上有几个标签的tabPanel 6.4. 让布局复杂一点儿 6.5. 向诸位介绍一下各具特色的布局 6.5.1. accordion就是QQ那样的伸缩菜单 6.5.2. CardLayout?其实就是Wizard啦。 6.5.3. 呼呼,TableLayout就是合并行,合并列 7. 低鸣吧!拖拽就像呼吸一样容易。 7.1. 如此拖拽,简直就像与生俱来的本能一样。 7.2. 第一!乱拖。 7.3. 第二!代理proxy和目标target 7.4. yui自远方来,不亦乐乎 7.4.1. Basic,基础 7.4.2. Handles,把手 7.4.3. On Top,总在上边 7.4.4. Proxy,代理 7.4.5. Groups,组 7.4.6. Grid,网格 7.4.7. Circle,圆形 7.4.8. Region,范围 8. 哭泣吧!现在才开始讲基础问题。 8.1. Ext.get 8.2. 要是我们想一下子获得一堆元素咋办? 8.3. DomHelper和Template动态生成html 8.3.1. DomHelper用来生成小片段 8.3.2. 批量生成还是需要Template模板 8.3.3. 醍醐灌顶,功能强劲的模板引擎XTemplate。 8.4. Ext.data命名空间 8.4.1. proxy系列 8.4.1.1. 人畜无害MemoryProxy 8.4.1.2. 常规武器HttpProxy 8.4.1.3. 洲际导弹ScriptTagProxy 8.4.2. reader系列 8.4.2.1. 简单易行ArrayReader 8.4.2.2. 灵活轻便JsonReader 8.4.2.3. 久负盛名XmlReader 8.4.3. 相信你知道怎么做加法 8.5. 跟我用json,每天五分钟 8.5.1. Hello 老爸。 8.5.2. 老妈等等,孩子先上场。 8.5.3. 老妈来了,老妈来啦。 8.5.4. Ext对json的支持力度 8.5.5. 反向操作,ext把json变成字符串 8.6. 小声说说scope 8.7. 菜单和工具条 8.7.1. 至简至廉的菜单 8.7.2. 丰富一点儿的多级菜单 8.7.3. 单选多选,菜单里搞这套 8.7.4. 小把戏,定制好的菜单 8.7.5. SplitButton让按钮和菜单结合 8.8. 蓝与灰,切换主题 8.9. 悬停提示 8.9.1. 起初,初始化 8.9.2. 诞生,注册提示 8.9.3. 分支,标签提示 8.9.4. 发展,全局配置 8.9.5. 进化,个体配置 8.10. 灵异事件,Ext.state 8.11. 所谓的事件 8.12. 回头谈一谈Ext里的ajax 9. 沉寂吧!我们要自己的控件。 9.1. 下拉树形选择框TreeField 9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!邪魔外道与边缘学科。 10.1. dwr与ext整合 10.1.1. 无侵入式整合dwr和ext 10.1.2. DWRProxy 10.1.3. DWRTreeLoader 10.1.4. DWRProxy和ComboBox 10.2. localXHR让你在不用服务器就玩ajax 10.3. 在form中使用fckeditor 10.4. 健康快乐动起来,fx里的动画效果 10.5. 悄悄的更新网页内容 A. 常见问题乱弹 A.1. ext到底是收费还是免费 A.2. 怎么查看ext2里的api文档 A.3. 如何在页面中引用ext A.3.1. 顺便说说常见的Ext is not defined错误 A.4. 想把弹出对话框单独拿出来用的看这里 A.5. 想把日期选择框单独拿出来用的看这里 A.6. 听说有人现在还不会汉化ext A.7. 碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 A.9. 有关grid的一些小问题 A.9.1. 如何让grid总所有的列都支持排序 A.9.2. 修改一个grid的ColumnModel和Store A.9.3. 动态为ds添加参数baseParams A.10. 有关tree的一些小问题 A.10.1. 如何选中树中的某个节点 A.10.2. 刷新树的所有节点 A.10.3. 如果取得json中自定义的属性 A.11. 如何使用input type="image" A.12. Ext.Window中的closeAction A.13. 使用同步ajax B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省 C.2. 关于ext与dwr整合部分的讨论 C.3. 怎么看文档附件里的范例 C.4. ext开发计划 D. 贡献者列表 D.1. 感谢[飘]的大力支持 D.2. 感谢[吧啦吧啦]的大力支持 D.3. 感谢[游戏人生]的大力支持 D.4. 感谢[綄帥]的大力支持 D.5. 感谢[葡萄]的大力支持 D.6. 感谢[天外小人]的大力支持 D.7. 感谢[我想我是海]的大力支持 D.8. 还要感谢:
// 修改选择框颜色 .el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner { border-color: #f32823 !important; background-color: #f32823 !impo