表单作为HTML 中一种特殊的元素,操作方法较为多样性和特殊性
开发者不但可以使用之前的常规选择器或过滤器,也可以使用jQuery 为表单专门提供的选择器和过滤器来准确的定位表单元素。
一、常规选择器
我们可以使用id、类(class)和元素名来获取表单字段,如果是表单元素,都必须含有name属性,还可以结合属性选择器来精确定位。
$('input').val(); //元素名定位,有多个input的情况下默认获取第一个input的val $('input').eq(1).val(); //同上,获取第二个 $('input[type=password]').val(); //选择type 为password 的字段,不唯一,可以有很多类型为password的input $('input[name=user]').val(); //选择name 为user 的字段,相对唯一。多选框或者单选框的name是相同的
二、表单选择器
虽然可以使用常规选择器来对表单的元素进行定位,但有时还是不能满足开发者灵活多变的需求。所以,jQuery 为表单提供了专用的选择器。
<script type="text/javascript" src="jquery-1.12.3.min.js"></script> <script type="text/javascript"> $(function(){ //alert($(':input').size()); //获取所有表单字段元素包括所有input、textarea、select 和button 元素 //alert($(':text').size());//获取单行文本框元素 //alert($(':password').size()); //获取密码栏元素 //alert($(':password[name=pass]').size()); //获取密码栏并且name为pass的元素 //alert($(':radio').size()); //获取单选框元素 //alert($(':radio[name=sex]').size()); //获取单选框并且name为sex的元素 //alert($(':radio[name=sex]').eq(1).val()); //获取单选框并且name为sex的第二个元素的val值 //alert($(':radio[name=sex]').last().val()); //获取单选框并且name为sex的最后一个元素的val值 //$(':checkbox').size(); //获取复选框元素 //$(':submit').size(); //获取提交按钮元素 //$(':reset').size(); //获取重置按钮元素 //$(':image').size(); //获取图片按钮元素 //$(':file').size(); //获取文件按钮元素 //$(':button').size(); //获取普通按钮元素 //alert($(':hidden').size()); //获取隐藏字段元素这里有5个分别是body,head,title,html,meta这五个隐藏的标签元素 alert($('form:hidden').size());//做了限定范围获取form下的隐藏标签 }); </script> </head> <body> <form> <input type="text" value="123"/> <input type="password" value="123"/> <input type="password" value="456"/> <input type="password" name="pass" value="123"/> <select></select> <button></button> <input type="radio" name="sex" value="男"/>男 <input type="radio" name="sex" value="女"/>女 <input type="radio" name="yes" value="是"/>是 <input type="radio" name="yes" value="否"/>否 </form> </body>
三、表单过滤器
jQuery 提供了四种表单过滤器,分别在是否可以用、是否选定来进行表单字段的筛选过滤。
<script type="text/javascript" src="jquery-1.12.3.min.js"></script> <script type="text/javascript"> $(function(){ //alert($('form :enabled').size()); //获取可用元素 form后面有空格 //alert($('form :disabled').size()); //获取不可用元素 form后面有空格 //alert($(':checked[name=sex]').val()); //获取单选、复选框中被选中的元素 alert($(':selected').val()); //获取下拉列表中被选中的元素 ,要找到select元素,择为父元素这里找到的是option }); </script> </head> <body> <form> <input type="text" disabled value="123"/> <input type="password" value="123"/> <input type="password" value="456"/> <input type="password" name="pass" value="123"/> <select></select> <button></button> <input type="radio" name="sex" checked value="男"/>男 <input type="radio" name="sex" value="女"/>女 <input type="radio" name="yes" checked value="是"/>是 <input type="radio" name="yes" value="否"/>否 <select name="city"> <option>1</option> <option selected>2</option> <option>3</option> </select> </form> </body>