jQuery操作Form表单元素

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元素内容如下

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

对select的操作

 1 //获取select当前选中项的值
 2 $('#select').val();
 3 
 4 //获取select当前选中项的文本
 5 $('#select').children('option:selected').text();
 6 
 7 //设置select选中值为3的option
 8 $('#select').val('3');
 9 
10 //设置select选中文本为武汉的option
11 $('#select').children('option:contains(武汉)').attr('selected', 'selected');

checkbox

 1 <div>
 2     <fieldset id="checkboxGroup">
 3         <legend>选择最喜欢的城市</legend>
 4         <div><input type="checkbox" name="city" value="北京" /><span>北京</span></div>
 5         <div><input type="checkbox" name="city" value="上海" /><span>上海</span></div>
 6         <div><input type="checkbox" name="city" value="南京" /><span>南京</span></div>
 7         <div><input type="checkbox" name="city" value="深圳" /><span>深圳</span></div>
 8         <div><input type="checkbox" name="city" value="广州" /><span>广州</span></div>
 9         <div><input type="checkbox" name="city" value="武汉" /><span>武汉</span></div>
10     </fieldset>
11 </div>
12 <div style="margin-top:20px;">
13     <button id="btnCheckbox1">获取选择的checkbox</button>
14     <button id="btnCheckbox2">选择深圳和广州</button>
15     <button id="btnCheckbox3">全选</button>
16     <button id="btnCheckbox4">全不选</button>
17     <button id="btnCheckbox5">反选</button>
18 </div>
 1 //获取选择的checkbox值
 2 $('#btnCheckbox1').click(function(){
 3     var values = [];
 4     $('#checkboxGroup').find(':checkbox:checked').each(function(){
 5         values.push($(this).val());
 6     });
 7 
 8     alert(values.join(','));
 9 });
10 
11 //选择深圳和广州
12 $('#btnCheckbox2').click(function(){
13     var $group = $('#checkboxGroup');
14 
15     $group.find(':checkbox').each(function(){
16         var $this = $(this), val = $this.val();
17         if(val === '深圳' || val === '广州'){
18             $this.prop('checked', true);
19         }else{
20             $this.prop('checked', false);
21         }
22     });
23 });
24 
25 //全选
26 $('#btnCheckbox3').click(function(){
27     var $group = $('#checkboxGroup');
28     $group.find(':checkbox').prop('checked', true);
29 });
30 
31 //全不选
32 $('#btnCheckbox4').click(function(){
33     var $group = $('#checkboxGroup');
34     $group.find(':checkbox').prop('checked', false);
35 });
36 
37 //反选
38 $('#btnCheckbox5').click(function(){
39     var $group = $('#checkboxGroup');
40     $group.find(':checkbox').each(function(){
41         var $this = $(this);
42         $this.prop('checked', !$this.prop('checked'));
43     });
44 });

radio

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

 

上一篇:使用JQuery获取被选中的checkbox的value值


下一篇:Ackerman 函数 (双递归函数)