javascript - jQuery单击并在一个功能中加载
问题描述
我有 2 个 jQuery 函数,可用作单击和加载。这是否可以仅作为一个功能创建,所以我不会重复该功能?
$("[name$='radioGroup1'], [name$='radioGroup2']").on('click load', function() {}
像上面的代码一样使用“on”对我不起作用。
<input type="checkbox" name="123.radioGroup1" class="">
<input type="checkbox" name="123.radioGroup1" class="">
<input type="checkbox" name="123.radioGroup1" class="">
<input type="checkbox" name="123.radioGroup2" class="">
<input type="checkbox" name="123.radioGroup2" class="">
<input type="checkbox" name="123.radioGroup2" class="">
$("[name$='radioGroup1'], [name$='radioGroup2']").click(function() {
var thisGroup = this.name;
$('input[name="'+thisGroup+'"]').each(function() {
if($('input[name="'+thisGroup+'"]').is(':checked') == true){
$('input[name="'+thisGroup+'"]').css("box-shadow", "none");
} else {
$('input[name="'+thisGroup+'"]').css("box-shadow", "0 0 4px 0 red");
}
});
});
$("[name$='radioGroup1'], [name$='radioGroup2']").each( function() {
var thisGroup = this.name;
$('input[name="'+thisGroup+'"]').each(function() {
if($('input[name="'+thisGroup+'"]').is(':checked') == true){
$('input[name="'+thisGroup+'"]').css("box-shadow", "none");
} else {
$('input[name="'+thisGroup+'"]').css("box-shadow", "0 0 4px 0 red");
}
});
});
解决方案
渲染时使用css、js和html
$('input[type="checkbox"]').click(function() {
var thisGroup = this.name;
if($(this).prop('checked')){
$('input[name="'+thisGroup+'"]').addClass('checked');
} else {
if ($('input[name="'+thisGroup+'"]:checked').length === 0) {
$('input[name="'+thisGroup+'"]').removeClass('checked');
}
}
});
input[type="checkbox"] {
box-shadow: 0 0 4px 0 red;
}
input[type="checkbox"].checked {
box-shadow: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="123.radioGroup1" class="radioGroup1">
<input type="checkbox" name="123.radioGroup1" class="radioGroup1">
<input type="checkbox" name="123.radioGroup1" class="radioGroup1">
<input type="checkbox" name="123.radioGroup2" class="radioGroup2">
<input type="checkbox" name="123.radioGroup2" class="radioGroup2">
<input type="checkbox" name="123.radioGroup2" class="radioGroup2">
<!-- checked class add when render your html -->
<input type="checkbox" name="123.radioGroup3" class="radioGroup3 checked" checked>
<input type="checkbox" name="123.radioGroup3" class="radioGroup3 checked">
<input type="checkbox" name="123.radioGroup3" class="radioGroup3 checked">
推荐阅读
- ssl - 将 https 与 curl 一起使用,但仍然出现“GET_SERVER_HELLO:unknown protocol”错误
- docker - 试图让我的 apache 容器响应 localhost:8080
- python - 在 Python 中迭代列表和匹配
- batch-file - 如何在文本文件中使用批处理文件变量?
- java - 如何获得地板计算的最终结果?
- css - 使用 Grid 定位元素的问题
- python - 行索引超过了 scipy csr_matrix 的矩阵维度
- html - 如何使用 Mailx 或 Mutt 在电子邮件正文中显示 Html 表格数据
- mysql - 我对同一个表有两个查询,我加入了不同的分组
- objective-c - 如何在实现文件中引用成员变量