Jquery 如果不是所有字段都已填充,如何将选项卡设置为字段集、展开以及更改类?
我有一个动态构建表单的系统,其中一些表单可能包含100多个问题。每个问题包含大约3个不同的子问题/回答字段。子问题被包装在一个div:Jquery 如果不是所有字段都已填充,如何将选项卡设置为字段集、展开以及更改类?,jquery,toggle,accordion,legend,fieldset,Jquery,Toggle,Accordion,Legend,Fieldset,我有一个动态构建表单的系统,其中一些表单可能包含100多个问题。每个问题包含大约3个不同的子问题/回答字段。子问题被包装在一个div:.dfcolumns中,该div在页面加载时被折叠,然后我在单击问题/图例时使用jquery切换来展开它们 我还需要完成两件事: <div class="dform"> <div class="dform_element"> <div class="dform_container"> <fields
.dfcolumns
中,该div在页面加载时被折叠,然后我在单击问题/图例时使用jquery切换来展开它们
我还需要完成两件事:
<div class="dform">
<div class="dform_element">
<div class="dform_container">
<fieldset>
<legend>1. Question/Toggle Trigger</legend>
<div class="dfcolumns">
*a bunch of field types here…
</div>
</fieldset>
</div>
</div>
<div class="dform_element">
<div class="dform_container">
<fieldset>
<legend>2. Question/Toggle Trigger</legend>
<div class="dfcolumns">
<div class="dfcolumns">
*a bunch of field types here…
</div>
</fieldset>
</div>
</div>
$(function(){
$("legend").click(function(){
$(this).parent().find(".dfcolumns").slideToggle("slow");
});
});
<div class="dform">
<div class="dform_element">
<div class="dform_container">
<fieldset>
<legend>1. Question/Toggle Trigger</legend>
<div class="dfcolumns">
*a bunch of field types here…
</div>
</fieldset>
</div>
</div>
<div class="dform_element">
<div class="dform_container">
<fieldset>
<legend>2. Question/Toggle Trigger</legend>
<div class="dfcolumns">
<div class="dfcolumns">
*a bunch of field types here…
</div>
</fieldset>
</div>
</div>
$(function(){
$("legend").click(function(){
$(this).parent().find(".dfcolumns").slideToggle("slow");
});
});
这两个目标中的任何一个都有可能实现吗?如果是的话,我会怎么做呢
非常感谢您的任何意见 我使用jquery提供了一个简单的解决方案:
<ul class="nav nav-tabs"></ul>
<form class="fieldset-tabs">
<fieldset>
<legend>Tab 1</legend>
**Tab 1 Cont**
</fieldset>
<fieldset>
<legend>Tab 2</legend>
**Tab Cont 2**
</fieldset>
</div>
表1
**表1续**
表2
**表续2**
javascript是:
jquery(function(){
$('.fieldset-tabs fieldset').each(function (index) {
var text = $(this).addClass('tab tab-'+index).find('legend').text() ;
$('.nav.nav-tabs').append('<li><a href="#" data-toggle=".tab-'+index+'">'+text+'</a></li>') ;
});
$('.nav.nav-tabs li a').click(function (e) {
e.preventDefault() ;
var $a = $(this);
var $li = $a.parent().addClass('active');
$('.nav.nav-tabs li').not($li).removeClass('active');
$('.fieldset-tabs fieldset.tab').not($a.data('toggle')).hide();
$($a.data('toggle')).show();
}).eq(0).trigger('click') ;
});
jquery(函数(){
$('.fieldset选项卡fieldset')。每个(函数(索引){
var text=$(this).addClass('tab-tab-'+index).find('legend').text();
$('.nav.nav选项卡')。追加('');
});
$('.nav.nav-tabs li a')。单击(函数(e){
e、 预防默认值();
var$a=$(本);
var$li=$a.parent().addClass('active');
$('.nav.nav-tabs li')。而不是($li)。removeClass('active');
$('.fieldset tabs fieldset.tab').not($a.data('toggle')).hide();
$($a.data('toggle')).show();
}).eq(0).触发器(“单击”);
});
<>代码>所有可能,但您可能需要考虑查看表单向导插件。以可见形式显示的选项卡将转到下一个字段,但若该字段被隐藏,它将被绕过,所以必须编写代码来处理该字段。很有可能你可以找到一个插件,它有很多你需要的功能,而不需要太多的手工编码