根据select选项,显示不同的表单,进而提交显示的数据
来源:互联网 发布:淘宝有个比价的软件 编辑:程序博客网 时间:2024/05/23 21:07
最近公司在做项目的过程中,出现表单中,需要根据select的不同选项,进而显示不同的不同的input选项,同时,提交的时候,只提交当时显示的input数据。整理了下思路来解决这个问题。
首先,表单中的input选项,不管是display:none;还是hidden,点击表单中的button按钮时,都会提交上去。jQuery的serialize()方法也是不管是display:none还是hidden都可以收集到表单信息。但是,当input中加入disabled后,表单内部提交按钮和serialize()方法都不能收集到。其中一个思路,就是开始在每一个input中都加入disabled,然后select选项发生变化,即将显示的input选项去掉“disabled”,然后其siblings().attr("disabled",true);另外一个思路,就是保存上个option的值,每变更一次,对即将出现的input选项去掉disabled,对即将离开的input选项设置.attr("disabled",true);
思路一:
<form id="questionForm" > <select name="" id="country"> <option value="China">China</option> <option value="Britain">Britain</option> <option value="America">America</option> </select> <div> <div id="China" class="none"> 北京 <input type="text" name="beijing" disabled/><br> 上海<input type="text" name="shanghai" disabled/> </div> <div id="Britain" class="none"> 伦敦 <input type="text" name="London" disabled/><br> 约克郡 <input type="text" name="Yorkshire" disabled/> </div> <div id="America" class="none"> 纽约 <input type="text" name="NewYork" disabled/><br> 华盛顿<input type="text" name="DC" disabled/> </div> </div> <button id="test" type="submit">submit</button></form> <button id="test1">测试</button>
$("#test1").click(function(){ console.log($("#questionForm").serialize()); }); $("#country").change(function(){ var testval=$("#country").val(); $("#"+testval).show().siblings().hide(); $("#"+testval).find("input").removeAttr("disabled"); $("#"+testval).siblings().find("input").attr("disabled",true) });
思路二:
$("#test1").click(function(){ console.log($("#questionForm").serialize()); }); var typeTemp=[];typeTemp[0]=1;var i=0; $("#country").change(function(){ var testval=$("#country").val(); if(i<2){ i++; typeTemp.push(testval); lastType=typeTemp.shift(); }else{ i=0; typeTemp.push(testval); lastType=typeTemp.shift(); } $("#"+testval).show().siblings().hide(); $("#"+testval).find("input").removeAttr("disabled"); $("#"+lastType).find("input").attr("disabled",true) });
以上,是我个人一些认识,如果哪位同学,有其他思路,可以交流。我的微信号Alfred-kai,请注明“csdn”,谢谢!
0 0
- 根据select选项,显示不同的表单,进而提交显示的数据
- 简单实现根据选项显示不同的表单
- javascript 根据select所选项的不同显示和隐藏部分内容
- 根据数据,显示不同的数据颜色
- InfoPath 2010:根据选项显示不同的内容
- (php)关于select提交表单后显示所提交的值为默认值
- 【JSP页面】如何根据Select的选项来决定页面input的显示隐藏
- Ladda 应用提交表单的时候显示loading加载中 包括不同位置,不同效果
- VB.NET中根据DataGridView中显示的数据条件数据行显示不同的颜色
- JS根据表单中的选项,自动生成span标签后显示选中的内容
- 17/4/2 js 表单(根据选项显示不同内容)
- 使用jQuery实现不同select选项决定div的显示和隐藏
- 根据时间显示不同的广告
- 根据roles显示不同的sitemap
- 根据类别显示不同的页面元素
- 根据roles显示不同的sitemap
- 根据屏幕大小显示不同的字
- ThinkPHP根据时间显示不同的问候语
- spring系列(一)——简介和IOC
- [core:warn] [pid 10] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown
- Struts2第四篇【请求数据自动封装、Action得到域对象】
- 六.Spring AOP浅析
- windows下载android源码
- 根据select选项,显示不同的表单,进而提交显示的数据
- Netty系列二:TCP/IP 协议三次握手
- 神秘身体的组成部分
- 【VS连接类型冲突】模块计算机类型与目标计算机类型冲突
- HDU 2063 过山车 (二分图 匈牙利算法)
- 你不知道的泛型--获取具体的泛型参数类型
- 【强烈推荐】十三个鲜为人知的大数据学习网站
- 剑指offer(java代码)——斐波那契数列
- 仁恒瑞恒好让他刚人