【发布时间】:2019-09-03 18:03:09
【问题描述】:
您好,我已经查看了很多。有很多类似的问题,但找不到我的答案。
我有两个复选框如下:
<div class="custom-chk">
<label>
<input name="Residential" id="Residential" class="upsfilter" type="checkbox" />
Residential
</label>
</div>
<div class="custom-chk">
<label>
<input name="Commercial" id="Commercial" class="upsfilter" type="checkbox" />
Commercial
</label>
</div>
我选中/取消选中以下内容:(如果一个选中另一个取消选中)
$('.upsfilter').on('click', function (e) {
if ($(this).prop('checked')) {
$('.upsfilter').prop('checked', false);
$('.upsfilter').parent().removeClass('checked');
$(this).prop('checked', true);
$(this).parent().addClass('checked');
}
)};
$('.upsfilter').on('click', function(e) {
if ($(this).prop('checked')) {
$('.upsfilter').prop('checked', false);
$('.upsfilter').parent().removeClass('checked');
$(this).prop('checked', true);
$(this).parent().addClass('checked');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="custom-chk">
<label>
<input name="Residential" id="Residential" class="upsfilter" type="checkbox" />
Residential
</label>
</div>
<div class="custom-chk">
<label>
<input name="Commercial" id="Commercial" class="upsfilter" type="checkbox" />
Commercial
</label>
</div>
label class="checked" 在复选框中显示小自定义方块。
上面的代码:
a) 火狐、Chrome。选中/取消选中有效,但 label class="checked" 工作相反。 (勾选时显示方块为假)
b) IE 11 工作正常
但是如果我删除$(this).parent().addClass('checked');
Firefox 和 Chrome 工作正常,但 IE 做同样的事情 (a)
是否存在与 IE、Chrome 或 Firefox 的兼容性问题? IE反应更有意义。任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
我在这里假设您的 JavaScript 拼写错误/语法问题只是这里的复制/粘贴问题?
-
@MarkSchultheiss 哪个部分?
-
运行sn -p 我把代码放进去,看到错误
-
哦,是的。修复。谢谢。
标签: jquery html checkbox cross-browser