【发布时间】:2018-01-07 06:51:17
【问题描述】:
我不会在第二次点击时取消选中自定义设计单选按钮的单选按钮。
这是 HTML 代码:
<input type="radio" id="sortForm11" name="sortForm11" value="descPrice"/>
<label for="sortForm11">Text<span ></span></label>
这是 CSS 代码:
input[type="radio"] {
display:none;
}
input[type="radio"] + label span {
display:inline-block;
width: 20px;
height: 20px;
margin: 0 10px 0 0;
vertical-align:middle;
background:url(../images/checkbox.png) left top no-repeat;
background-size: 20px 20px;
cursor:pointer;
border-radius: 2px;
float:right;
}
input[type="radio"]:checked + label span {
background-color: #4bc2ff;
}
这里是js代码:
$('input[name=sortForm11]').on('click',function () {
var $radio = $(this);
// if this was previously checked
if ($radio.data('waschecked') == true)
{
console.log('cao');
$radio.prop('checked', false);
$radio.data('waschecked', false);
}
else
$radio.data('waschecked', true);
// remove was checked from other radios
$radio.siblings('input[name=sortForm11]').data('waschecked', false);
});
附: :如果我的输入字段是可见的,并且如果我测试它是有效的,但如果我调整它以进行自定义设计,它就不起作用。
【问题讨论】:
-
单选按钮的设计目的不是为了不被选中。您可能想使用复选框
-
你可以参考这里:stackoverflow.com/questions/19895073/…干杯!
-
@JeremyThille 我知道他们不是,但我不会让用户能够取消选中单选按钮。
-
@DivyaMaheswaran 我看到帖子和代码是一样的,我的问题是取消自定义设计单选按钮。问题是因为点击了 span 而不是自己输入,所以我不知道要取消选中哪个输入字段。
标签: javascript jquery html css