2015-06-22 71 views
5

任何人都可以为我提供一个示例来循环显示所有表单字段,并显示除窗体中隐藏字段以外的字段。循环显示表单字段并显示除表单字段以外的所有表单字段

伪代码:

for(i=0;i<formFields.length;i++) 
{ 
if(formFields[i]!= 'hidden field') 
then formFields[i].show(); 
} 
+0

我不完全理解。您想循环显示除隐藏的所有表单字段以外的所有表单字段。将显示没有隐藏属性的字段。也许向我们展示您的数据(表单域)以及它们在页面上的呈现方式(即静态HTML,JS/jQuery,AngularJS等)。 – NightOwlPrgmr

+0

假设我有一个Form1的表单。该表格包含以下字段。 – user3742125

回答

1

您可以尝试通过使用下面的代码字段循环;但是,如果这些字段具有隐藏属性,则它们将被隐藏。无需将.show应用于已经显示的元素。

遍历所有领域看得到:

$("#Form1 :input").not(':button, :hidden').each(function() { 
    // do whatever with the fields here 
}); 

更新

// show form, clear hidden values 
$(".dropdown").on('change', function() { 
    if ($(this).val() == "Show all fields") { 
     $("#Form1").show(); 
     $("#Form1 :input").is(':hidden').each(function() { 
      $(this).val(''); 
     }); 
    } 
}); 

更新2:

$(".dropdown").on('change', function() { 
    if ($(this).val() == "Show all fields") { 
     $("#Form1").show(); 
     $('#Form1 *').filter(':input').each(function() {(...)}); 
    } 
}); 
+0

假设我有一个表单Form1。该表格包含以下字段。 \t \t <表格ID = “Form1中”> \t \t \t \t \t \t \t \t \t \t \t 最初这种形式将被隐藏。在我的情况下,每当下拉值更改为“显示所有字段”时,应显示除隐藏 字段之外的所有上述表单字段(ff1,ff2,ff3)。如果它是一个隐藏字段,那么我需要将其值更改为空。 – user3742125

+0

@ user3742125查看我更新的答案。 – NightOwlPrgmr

+0

我的表单也包含文本框和下拉列表。所以你可以请相应地修改代码 – user3742125