2010-11-01 39 views
2

好吧,说我有一个页面,说form.php。在这种形式上说我有复选框A,B和C.我想要做的是当你点击复选框A时,它显示表单A,复选框B显示表单B,复选框C显示表单c。我需要这一切都是动态的,所以这种情况发生时无需重新加载页面等。我会假设这会使用Jquery或Ajax。我宁愿使用Jquery,只是因为我有一些经验,而且我的网站也已经在使用Jquery技术。动态形式与JavaScript/PHP

+0

这是一个编程问题,所以我将它移动到StackOverflow上。 – 2010-11-01 18:26:00

+0

你能发表一些你已经有的代码吗? – 2010-11-01 18:36:49

回答

3

不是最美丽的实现,但它指向你的方向。

http://jsfiddle.net/73yuu/

+0

绝对不会美化:)它给了我我需要的东西。谢谢! – 2010-11-01 19:34:11

1

我会做的是加载所有3种形式起来,让他们在那里自己的股利和与style="display:none;"所有三个。当用户点击复选框(如果只有一个表单可以在时间显示,我会使用单选按钮),使用jquery或任何改变特定div显示的值来阻止。您可以更改div的类以显示正确的div。

+0

单选按钮+1。 – SuperMykEl 2013-08-23 17:28:24

0

我知道这是一个旧帖子,但我正在寻找一个类似的解决方案,我最终在这里。

我用Ole Melhus的答案作为出发点,并且使用switch/case而不是if/else对它进行更漂亮和更有用。只是以为我会在这里发布给任何可能需要它的人。

http://jsfiddle.net/N5rfu/

$("#for_form1, #for_form2, #for_form3").change(function(){ 
    switch($(this).attr('id')){ 
     case 'for_form1': 
      $("#for_form2, #for_form3").attr('checked', ''); 
      $("#form2, #form3").hide(); 
      $("#form1").show(); 
      break; 
     case 'for_form2': 
      $("#for_form1, #for_form3").attr('checked', ''); 
      $("#form1, #form3").hide(); 
      $("#form2").show(); 
      break; 
     case 'for_form3': 
      $("#for_form1, #for_form2").attr('checked', ''); 
      $("#form1, #form2").hide(); 
      $("#form3").show(); 
      break; 
    } 

});