Javascript jQuery检查是否选中了前7个复选框中的一个,然后隐藏元素
我试图隐藏/显示一个元素,这取决于是否选中了组中的一个或多个复选框,我需要使用更改事件在任何复选框更改后触发它 以下是我所拥有的:Javascript jQuery检查是否选中了前7个复选框中的一个,然后隐藏元素,javascript,jquery,html,Javascript,Jquery,Html,我试图隐藏/显示一个元素,这取决于是否选中了组中的一个或多个复选框,我需要使用更改事件在任何复选框更改后触发它 以下是我所拥有的: // List of my checkboxes (first 7) var group = $('#ctl00_ContentPlaceHolder1_Common1_cbl_1_3_Are_any_sectors_prioritised_in_your_country_in_the_area_of_validation_CheckBoxList1 input:l
// List of my checkboxes (first 7)
var group = $('#ctl00_ContentPlaceHolder1_Common1_cbl_1_3_Are_any_sectors_prioritised_in_your_country_in_the_area_of_validation_CheckBoxList1 input:lt(7)');
group.change(function () {
if (group.filter(':checked').length > 0) {
$("#ctl00_ContentPlaceHolder1_Common1_cbl_1_4_What_is_the_rationale_for_such_prioritisation_divContainer").show();
}
else {
$("#ctl00_ContentPlaceHolder1_Common1_cbl_1_4_What_is_the_rationale_for_such_prioritisation_divContainer").hide();
}
});
HTML:
A) 普通教育(义务/高中)
B) 初级兽医
C) 继续兽医
D) 成人教育
E) 高等教育
F) 劳动力市场部门——如适用,请指定部门/分支机构
G) 第三部门——如适用,请具体说明,例如青年部门、志愿部门等
H) 无优先权(所有部门的优先顺序相同)
一) 没有优先权(所有部门几乎没有活动)
J) 信息不可用
K) 不知道
这似乎不起作用,什么都不起作用。想知道为什么吗?在复选框的
onchange
事件中,您可以这样做
if ($(".checker input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}
编辑
您确实刚刚将选择器拼写错误,这是一个简单的错误:)
如果某个东西不正确,它不会立即成为错误,但你必须能够看到一些有时看不到的东西,因为这不会给你任何错误,但它也不起作用
首先要检查元素是否在文档中,以及是否使用了正确的属性来定位它,然后还可以检查拼写错误
有这么长的选择器是不正常的,我假设它们是动态创建的,但如果是这样的话,它就比你想象的更像一颗滴答作响的定时炸弹,因为当你更新创建选择器的代码时,你的JS会无缘无故地再次停止工作
我的建议是缩短选择器或对其进行硬编码,使其永远不会更改(使用不同的属性,如class
maybe?)-如果您的ID是动态创建的,您迟早会遇到问题(除非您也动态生成执行此操作的jQuery代码)
起初的 刚刚创建了一个快速片段,说明如何通过jQuery使用
onchange
处理程序实现这一点
脚本可能无法工作的主要原因是
- 可能拼写错误的过于复杂的选择器(一个字符足以导致不匹配)
- 没有用于检查
处理程序是否已启动的$(document).ready(fn)
$(function(){…})
$(function(){//等价于$(document).ready(fn)
$('#toggle').css('display','none');
var cb_group=$('.test cb:lt(7)')。on('change',function(){
if(cb_组过滤器(':checked').length)
$(“#切换”).show();
其他的
$(“#切换”).hide();
});
});代码>
#切换{
宽度:300px;
高度:200px;
边框:2px实心#ddd;
线高:200px;
文本对齐:居中;
字体大小:30px;
}
1.
2.
3.
4.
5.
6.
7.
8.
9
测试
tryinput:checkbox:lt(7)
然后在更改事件处理程序中,它应该像$(“#ctl00_ContentPlaceHolder1_Common1_cbl_1_4_What_is_the_prioritization_divContainer”)一样简单代码>你能显示你的HTML吗?@ArunPJohny那什么都不做:/your code work?-首先选中两个框,取消选中它们,您将看到底部的测试文本消失,然后选中前7个框中的任何一个,它将再次出现
if ($(".checker input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}