Web开发中常常须要操作表单,form表单元素有select、checkbox、radio、textarea、button、file、text、hidden、password等。

当中checkbox和radio的读写值操作比較多变,checkbox和radio常常常使用在一个分组里。实现多选或者单选。

jQuery提供了利用表单选择器我们能够极其方便地获取表单的某个或某类型的元素。

选择器 返回 演示样例
:input 集合元素 $(“:input”)选取全部,,和元素。
:text 单行文本框集合 $(“:text”)选取全部的单行文本框。
:password 密码框集合 $(“:password”)选取全部的密码框。
:radio 单行文本框集合 $(“:radio”)选取全部的单选框。
:checkbox 复选框集合 $(“:checkbox”)选取全部的复选框。
:submit 提交按钮集合 $(“:submit”)选取全部的提交按钮。
:image 图片按钮集合 $(“:image”)选取全部的图片按钮。
:reset 重置按钮集合 $(“:reset”)选取全部的重置按钮。
:button 按钮集合 $(“:button”)选取全部的按钮。
:file 上传域集合 $(“:file”)选取全部的上传域。
:hidden 不可见元素集合 $(“:hidden”)选取全部的不可见元素。

以下介绍select、checkbox和radio的使用方法。

select

select元素内容例如以下

<select id="select"><option value="0">北京</option><option value="1">上海</option><option value="2">武汉</option><option value="3">南京</option><option value="4">广州</option><option value="5" selected="selected">深圳</option>
</select>

对select的操作

//获取select当前选中项的值
$('#select').val();//获取select当前选中项的文本
$('#select').children('option:selected').text();//设置select选中值为3的option
$('#select').val('3');//设置select选中文本为武汉的option
$('#select').children('option:contains(武汉)').attr('selected', 'selected');

checkbox

<div><fieldset id="checkboxGroup"><legend>选择最喜欢的城市</legend><div><input type="checkbox" name="city" value="北京" /><span>北京</span></div><div><input type="checkbox" name="city" value="上海" /><span>上海</span></div><div><input type="checkbox" name="city" value="南京" /><span>南京</span></div><div><input type="checkbox" name="city" value="深圳" /><span>深圳</span></div><div><input type="checkbox" name="city" value="广州" /><span>广州</span></div><div><input type="checkbox" name="city" value="武汉" /><span>武汉</span></div></fieldset>
</div>
<div style="margin-top:20px;"><button id="btnCheckbox1">获取选择的checkbox</button><button id="btnCheckbox2">选择深圳和广州</button><button id="btnCheckbox3">全选</button><button id="btnCheckbox4">全不选</button><button id="btnCheckbox5">反选</button>
</div>
//获取选择的checkbox值
$('#btnCheckbox1').click(function(){var values = [];$('#checkboxGroup').find(':checkbox:checked').each(function(){values.push($(this).val());});alert(values.join(','));
});//选择深圳和广州
$('#btnCheckbox2').click(function(){var $group = $('#checkboxGroup');$group.find(':checkbox').each(function(){var $this = $(this), val = $this.val();if(val === '深圳' || val === '广州'){$this.prop('checked', true);}else{$this.prop('checked', false);}});
});//全选
$('#btnCheckbox3').click(function(){var $group = $('#checkboxGroup');$group.find(':checkbox').prop('checked', true);
});//全不选
$('#btnCheckbox4').click(function(){var $group = $('#checkboxGroup');$group.find(':checkbox').prop('checked', false);
});//反选
$('#btnCheckbox5').click(function(){var $group = $('#checkboxGroup');$group.find(':checkbox').each(function(){var $this = $(this);$this.prop('checked', !$this.prop('checked'));});
});

radio

<div><fieldset id="radioGroup"><legend>选择最喜欢的城市</legend><div><input type="radio" name="city" value="北京" /><span>北京</span></div><div><input type="radio" name="city" value="上海" /><span>上海</span></div><div><input type="radio" name="city" value="南京" /><span>南京</span></div><div><input type="radio" name="city" value="深圳" /><span>深圳</span></div><div><input type="radio" name="city" value="广州" /><span>广州</span></div><div><input type="radio" name="city" value="武汉" /><span>武汉</span></div></fieldset>
</div>
<div style="margin-top:20px;"><button id="btnRadio1">获取选择的radio</button><button id="btnRadio2">选择上海</button>
</div>
//获取当前选择的radio值
$('#btnRadio1').click(function(){var group = $('#radioGroup'),value = group.find(':radio:checked').val();alert(value);
});//选择上海
$('#btnRadio2').click(function(){$('#radioGroup').find(':radio[value="上海"]').prop('checked', true);
});

form

jQuery提供了serialize()和serializeArray()获取form表单元素的值,serialize()把获取的值拼接成字符串,serializeArray()返回数组。

<form id="form"><div>姓名:<input type="text" name="name" /></div><div>年龄:<input type="text" name="age" /></div><div>性别:<select name="sex"><option value="男">男</option><option value="女">女</option><option value="保密" selected="selected">保密</option></select></div><fieldset><legend>最喜欢的城市</legend><div><input type="radio" name="city" value="广州" /><span>广州</span></div><div><input type="radio" name="city" value="深圳" /><span>深圳</span></div><div><input type="radio" name="city" value="上海" checked="checked" /><span>上海</span></div></fieldset><fieldset><legend>喜欢的运动</legend><div><input type="checkbox" name="sports" value="足球" /><span>足球</span></div><div><input type="checkbox" name="sports" value="篮球" /><span>篮球</span></div><div><input type="checkbox" name="sports" value="羽毛球" /><span>羽毛球</span></div><div><input type="checkbox" name="sports" value="乒乓球" /><span>乒乓球</span></div></fieldset>
</form>
<div style="margin-top:20px;"><button id="btnSubmit">提交</button><button id="btnReset">重置</button><button id="btnFormValue">获取form的值</button>
</div>
//提交
$('#btnSubmit').click(function(){$('#form').submit();
});//重置
$('#btnReset').click(function(){//因为jQuery没有提供reset方法,仅仅能用form原生的reset方法。$('#form').get(0).reset();
});//获取form的值
$('#btnFormValue').click(function(){alert(decodeURIComponent($('#form').serialize()));
});

转载于:https://www.cnblogs.com/liguangsunls/p/7238460.html

jQuery操作Form表单元素相关推荐

  1. 第83天:jQuery中操作form表单

    操作form表单 1. 属性操作 设置属性: // 第一个参数表示:要设置的属性名称 // 第二个参数表示:该属性名称对应的值 $(selector).attr("title", ...

  2. jquery表单ajax json数据,jquery序列化form表单使用ajax提交后处理返回的json数据

    1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...

  3. layui快速学习(一)form表单元素

    form表单元素包括:text 文本输入框,password密码输入框,checkbox复选框,radio单选框,file 文件域,submit表单提交action指向的文件,reset表单清空,im ...

  4. form表单元素设置只读

    form表单元素设置只读 CreateTime--2017年5月5日11:42:41 Author:Marydon 1.设置文本框只读 <!-- 方法一:简写 --> <input ...

  5. reac笔记_13 form表单元素中 input/defaultValue + useState/useRef

    目录 原生html元素 input属性 示例1 示例2 react中 受控组件与非受控组件 属性 error - input标签value属性使用 示例 - useState 示例 - input标签 ...

  6. 8 jquery 获取 form 表单内容

    8 jquery 获取 form 表单内容 有时,我们需要获取表单内容进行发送ajax请求,通过函数方式比较方便. $("#title").serialize() 获取一个序列化的 ...

  7. js jquery 清空form表单

    js jquery 清空form表单 //js document.getElementById("formId").reset(); //jquery $("#formI ...

  8. 第5节 Selenium 操作form表单

    from表单是我们经常测试的用例,绝大多数web程序都有,例如:用户登录.注册 form表单的流程是这样的: 1.定位表单元素 2.输入测试值 3.判断表单元素属性 4.获取表单元素属性 5.提交表单 ...

  9. jquery插件——form表单插件

    传统的表单提交,都是页面跳转的形式,但是现在更流行ajax提交,那么如果希望有表单提交的简便,也有ajax的效果,有什么解决办法吗? 怎么使用 两种使用方式: 第一种 <!DOCTYPE htm ...

最新文章

  1. RandomAccessFile学习笔记
  2. 举例分析Linux动态库和静态库
  3. linux 内核中基于netfilter的编译选项
  4. Nova 启动虚拟机流程解析
  5. Linux系统常用命令速查手册,建议打印
  6. UVa 1636 决斗
  7. 全国计算机等级考试题库二级C操作题100套(第60套)
  8. linux编译框架的搭建,Linux精华篇—CentOS 7.4下源码编译构建LNMP架构
  9. python3 beautifulsoup 模块详解_关于beautifulsoup模块的详细介绍
  10. 4阶范德蒙德行列式例题_线性代数入门——“爪型行列式”的计算及其应用
  11. hadoop启动后,9000端口无法连接,netstat -tpnl中找不到该端口
  12. mysql 查询所有鎖_mysql查询锁
  13. 在网页设计中,引导页是所有页面中的重中之重,引导浏览者很快进入各栏目页面,是一个网站的灵魂所在。
  14. aes默认填充算法 mysql_Go 实现加密算法系列之对称加密
  15. python工具包:random的注意事项
  16. matlab绘制三角函数乘除法的问题
  17. ps把图片无损放大的方法
  18. html页面上不断掉星星,html 页面的星星闪烁 特效 背景 (js案例 )
  19. 电子不停车收费系统(ETC)专题(2)——国内现状
  20. 交换机和路由器的区别_路由器与交换机的区别与联系

热门文章

  1. mysql重复添加计数_从MySQL中的单个列获取重复值的计数?
  2. java socket 异步回调函数_浅谈socket同步和异步、阻塞和非阻塞、I/O模型
  3. CentOS 7笔记yum install epel-release
  4. 远程服务器传数据库,怎样把本机的mysql数据库上传到远程主机上
  5. java调用数据库存储过程的接口是_JAVA调用数据库存储过程
  6. JavaWeb——eclipse与tomcat环境配置
  7. Starling实现的硬皮翻书效果
  8. fastadmin出现token验证错误!_gitee 拥有3.7k星星的极速后台框架—FastAdmin了解一下...
  9. 设计模式(四)行为型模式
  10. Mysql逻辑架构简介