Javascript 根据先前的复选框将复选框重置为页面加载状态';s州
我有一个页面,它有一个表单和一个生成的内容区域,都有通过复选框隐藏的部分和子部分。(复选框隐藏在页面上,但不显示在小提琴上,以显示复选框的“选中”状态) 这是小提琴。看起来可能很多,但坚持住,事实并非如此。我有一个简单的问题,让我告诉你问题在哪里 我正在尝试向页面添加功能,以便当用户从左窗格中取消选择某个部分的所有子部分时,该部分作为一个整体隐藏在左侧,右侧表单让您知道整个部分是隐藏的(小提琴中的红色文本),但不允许更改子部分以保持持久性。我可以通过单击左窗格中的所有子部分来隐藏所有子部分,左部分消失,右部分隐藏自己,右标题通知您它在左侧隐藏。问题在于,当单击右侧标题以取消隐藏左侧部分时,子部分将不再可见或“重置” 下面是用于检查是否所有子部分都隐藏的代码:Javascript 根据先前的复选框将复选框重置为页面加载状态';s州,javascript,jquery,html,Javascript,Jquery,Html,我有一个页面,它有一个表单和一个生成的内容区域,都有通过复选框隐藏的部分和子部分。(复选框隐藏在页面上,但不显示在小提琴上,以显示复选框的“选中”状态) 这是小提琴。看起来可能很多,但坚持住,事实并非如此。我有一个简单的问题,让我告诉你问题在哪里 我正在尝试向页面添加功能,以便当用户从左窗格中取消选择某个部分的所有子部分时,该部分作为一个整体隐藏在左侧,右侧表单让您知道整个部分是隐藏的(小提琴中的红色文本),但不允许更改子部分以保持持久性。我可以通过单击左窗格中的所有子部分来隐藏所有子部分,左部
if (($('fieldset.abstract > div > input:checkbox:checked').length+1) == 7){
//Left Side
$('.block > .abstract > .superseven > section input').each(function(){
$(this).prop('checked' , true);
});
$('.block > .abstract > .superseven > section').eq(index).hide();
$('.block > .abstract').hide("slow");
//Right Side
$('fieldset.abstract label:first').toggleClass('hidden');
$('fieldset.abstract > div > input').each(function(){
$(this).prop('checked' , false);
});
$('fieldset.abstract > div > label').each(function(){
$(this).hide("slow");
});
只有在所有子部分都隐藏之后,如何将复选框“重置”为页面加载?应该是,一旦用户单击右部分标题将该部分移回左侧,所有子部分都将可见
- 如果我在单击右部分标题时应用一个常规条件(类似于JS中标记为
)的下部分),它将不会在只有几个子部分被隐藏然后整个部分被隐藏时保持持久性//Toggle section completly
- 我在想,如果我跟踪一个状态变量,这是可能的,但是我不知道Jquery中的变量范围(我假设它必须是全局的,我认为这不是一个好的实践)
- 或者Jquery的整个部分可以包装在一个自调用函数中,如下所示: (函数名(){…})()
- 单击所有左侧子部分,它们将消失
- 右侧子部分(仅标签,因为所有复选框在live页面中都不可见)应消失
- 右侧部分收割台应变为红色
- 单击右侧部分标题
- 左侧部分应该出现(到这里为止,所有这些都在工作,这里是它断开的地方),左侧的所有子部分都应该可见,就像它被重置一样(与页面加载时相同,但仅限于此特定部分,因为有多个这些部分),因为用户隐藏了所有子部分,因此,整个部分都被隐藏了,现在用户希望返回左侧部分,并且所有子部分都应该可见
- 从标题隐藏整个节
- 隐藏除一个子部分以外的所有子部分
- 隐藏子节,然后选择隐藏整个节,并在取消隐藏整个节时保持持久性
if(!$('.block > .abstract').is(':visible')) {
$('fieldset.abstract #abstract_all').prop('checked' , false);
$('.superseven ').children().show();
var width = ((1/7)*100);
$('.superseven ').find('div').css("width", width + '%')
您好,我看到了小提琴,但问题是:当我取消选择左面板中的所有chackbox时,整个左面板隐藏().您希望当我检查右面板上的sectionheader时,左面板打开,所有子部分都像初始步骤一样处于活动状态吗?请参阅澄清,如果您需要更多信息,请告诉我左侧部分在JS
//切换部分的注释下隐藏自己。我希望.on(更改)要打开左部分,只有当通过选择所有左部分关闭该部分时,才能使用所有子部分。因此,我不确定是否是解决方案,但请尝试此部分,添加:if(!$('.block>.abstract')。is(':visible'){$('.supers偶').children().show();}
之后://当前处于关闭状态,打开$('fieldset.abstract#abstract(u all')。打开('change',function(){if(this.checked){
,是设计的效果吗?我必须这样做:'if(!$('.block>.abstract')。is(':visible'){$('fieldset.abstract#abstract(u all'))。prop('checked',false);$('supers偶')。children show()();$('fieldset.abstract>div>label')。每个(function(){$(this).removeClass('hidden');})}`,但是是的,您正处于irght方向。检查它是否可见的好主意。现在开始处理内联块以重新渲染。对代码块进行“重新渲染”调用或使其返回到加载状态如何?