如何使收音机看起来像禁用但不指定disabled=“disabled”,只需使用css和js
How to make a radio looks like disabled but don't specify disabled="disabled", just using css and js
我们知道,如果我们将disabled="disabled"设置为无线电,则在提交到后端时,其值将在表单中丢失。 并且无线电没有只读属性。现在,我不想为禁用的无线电添加隐藏,我只想使用 js 和 CSS 使其看起来像禁用。
<html>
<head>
<title>TEST</title>
<script>
</script>
<style>
#radio1 {
/* how to make radio1 looks same as radio2*/
pointer-events: none;
opacity:0.5;
}
</style>
</head>
<body>
<input type="radio" id="radio1" onclick="return false"/>
<input type="radio" id="radio2" disabled="disabled"/>
</body>
</html>
您可以使用opacity
#radio1 {
opacity:.5;
}
<input type="radio" id="radio1" onclick="return false" />
<input type="radio" id="radio2" disabled="disabled" />
或者只是通过添加任何元素来创建自己的样式
label {
display: inline-block;
width: 25px;
height: 25px;
position: relative;
}
input[type="radio"] {
position: absolute;
visibility: hidden;
}
input[type="radio"] + label {
border: 1px solid rgb(208, 208, 208);
border-radius: 50%;
}
label:before {
content: '';
border-radius: 50%;
position: absolute;
background: rgb(208, 208, 208);
left: 0;
top: 0;
display: inline-block;
width: 19px;
height: 19px;
margin: 3px 0 0 3px;
}
<input type="radio" id="radio1" onclick="return false" />
<label for="radio1"></label>
<input type="radio" id="radio2" disabled="disabled" />
<label for="radio2"></label>
我相信你可以用pointer-events: none
来模仿readonly
属性,它不适合你吗?
<input type="radio" id="radio1" onclick="return false" style="pointer-events: none;"/>
或者你可以在后端处理这种情况。如果无线电被禁用,那么我想你想使用某种默认值,只需在后端分配它。
通常它只通过常见的CSS规则工作。所以:
input[type="radio"] {
background-color: light-grey;
border: 0 none;
}
不幸的是,Firefox 不支持通过 CSS 进行任何颜色更改,因此到目前为止我知道您唯一的选择是使用背景图像(使用禁用单选按钮的图像)。参考
问候美因茨007
您可以使用此插件使其看起来像禁用。 http://widowmaker.kiev.ua/checkbox/
浏览器具有不同的显示表单控件的方式,因此没有包罗万象的解决方案来设置单选按钮的样式,使其看起来与禁用的单选按钮完全相同。
但是,您可以使用具有 disabled="true"
属性的相邻无线电控件(并class="disabled-overlay"
到您希望在表单提交时提交的每个无线电,并使用以下 CSS 为您想要显示为禁用的无线电输入提供类"禁用"(请参阅此 jsfiddle 中的操作)
div.radio-container input.disabled-overlay {
display: none;
}
div.radio-container input.disabled {
display: none;
}
div.radio-container input.disabled + input.disabled-overlay {
display: inline-block;
}
您可以将收音机设置为禁用,单击提交按钮时删除禁用的将以下代码与 jquery 库结合使用
$("#sub").click(function(){
$("input").removeAttr('disabled');
});
<input type="submit" value="Save" id="sub" />
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 角度Js ng-disabled不起作用
- ng disabled不是禁用Angular JS中的按钮
- 如何使收音机看起来像禁用但不指定disabled=“disabled”,只需使用css和js
- Angular.js: ng-disabled基于对象数组中的子字符串
- Angular.js - ng-disabled在复选框上,仍然提交一个有效的表单
- 删除“disabled"通过JS,但按钮仍然禁用
- Angular js ng-disabled