JQuery补充——获取与设置表单值

//写jQuery代码时注意前面一定要记得加$(function(){});,在文档加载完成后进行代码的编写

  使用jQuery的表单对象属性来选择被选中的项::checked,详见文档选择器部分

  根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()

一、单选框radio

  1.获取被选中的单选框的value:

var item = $("input[name=hobby][checked]").val();

 //设置则为带参的方法

   基础代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表单数据值的操作</title>
    <script src="bootstrap\js\jquery.min.js"> </script>
</head>
<body>
    <form action="#">
        <input type="button" id="btn" value="开始测试"><br/>
        <input type="radio" name="hobby" value="eat" />吃饭<br/>
        <input type="radio" name="hobby" value="sleep" checked/>睡觉<br/>
    </form>
<script type="text/javascript">
    //必须等待文档加载完进行操作!
    $(function(){
        $("#btn").click(function(){
            var item = $("input[name=hobby][checked]").val();
            alert(item);
        });
    });
</script>
</body>
</html>
View Code

  

   2.设置拥有指定value值为选中

$("input[type=radio]").attr("checked",'eat');

    此方式相对直观:

$("input[name=hobby][value=eat]").attr("checked",true);

二、下拉框select

  1.获取被选中的option的value值

var item = $("select[name=ball] option[selected]").val();

   获取里面的文本值:

var item = $("select[name=ball] option[selected]").text();

  基础代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表单数据值的操作</title>
    <script src="bootstrap\js\jquery.min.js"> </script>
</head>
<body>
    <form action="#">
        <!--单选框-->
        <input type="button" id="btn" value="开始测试"><br/>
        <input type="radio" name="hobby" value="eat"/>吃饭<br/>
        <input type="radio" name="hobby" value="sleep" checked/>睡觉<br/>
        <!--下拉框-->
        <select name="ball">
            <option value="pingpang">乒乓球</option>
            <option value="basketball">篮球</option>
            <option value="baseball" selected>排球</option>
        </select>
    </form>
<script type="text/javascript">
    //必须等待文档加载完进行操作!
    $(function(){
        $("#btn").click(function(){
            /*1.var item = $("input[name=hobby][checked]").val();
            alert(item);
            /*2.$("input[type=radio]").attr("checked",'eat');*/
            /*3.$("input[name=hobby][value=eat]").attr("checked",true);*/
            var item = $("select[name=ball] option[selected]").text();
            alert(item)
        });
    });
    
</script>
</body>
</html>
View Code

  2.设置指定value值选中

$("select[name=ball]").val("pingpang");

 三、输入框(文本框、文本域)

  1.获取文本框、文本域中的值

 

var item = $("#username").val();

 

  基础代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表单数据值的操作</title>
    <script src="bootstrap\js\jquery.min.js"> </script>
</head>
<body>
    <form action="#">
        <!--单选框-->
        <input type="button" id="btn" value="开始测试"><br/>
        <input type="radio" name="hobby" value="eat"/>吃饭<br/>
        <input type="radio" name="hobby" value="sleep" checked/>睡觉<br/>
        <!--下拉框-->
        <select name="ball">
            <option value="pingpang">乒乓球</option>
            <option value="basketball">篮球</option>
            <option value="baseball" selected>排球</option>
        </select>
        <br/>
        <!--普通文本框-->
        用户名:<input type="text" name="username" id="username"/>
    </form>
<script type="text/javascript">
    //必须等待文档加载完进行操作!
    $(function(){
        $("#btn").click(function(){
            /*1.var item = $("input[name=hobby][checked]").val();
            alert(item);
            /*2.$("input[type=radio]").attr("checked",'eat');*/
            /*3.$("input[name=hobby][value=eat]").attr("checked",true);*/
            /*var item = $("select[name=ball] option[selected]").val();
            alert(item)*/
            /*$("select[name=ball]").val("pingpang");*/
            /*$("select[name=ball] option[text='篮球']").attr("selected",true);*/
            var item = $("#username").val();
            alert(item);
        });
    });
    
</script>
</body>
</html>
View Code

  2.设置文本框、文本域中的值

$("#username").val("777");

 四、复选框checkbox

  1.设置指定value值的复选框被选中:可以使用prop(),见页首

$("input[name=fruit][value=apple]").attr("checked",true);

//类似单选框

    可以同时使得多个被选中

$("input[name=fruit]").attr("checked",true);

  基础代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试表单数据值的操作</title>
    <script src="bootstrap\js\jquery.min.js"> </script>
</head>
<body>
    <form action="#">
        <!--单选框-->
        <input type="button" id="btn" value="开始测试"><br/>
        <input type="radio" name="hobby" value="eat"/>吃饭<br/>
        <input type="radio" name="hobby" value="sleep" checked/>睡觉<br/>
        <!--下拉框-->
        <select name="ball">
            <option value="pingpang">乒乓球</option>
            <option value="basketball">篮球</option>
            <option value="baseball" selected>排球</option>
        </select>
        <br/>
        <!--普通文本框-->
        用户名:<input type="text" name="username" id="username" /><br>
        <!--复选框-->
        <input type="checkbox" name="fruit" value="apple">苹果
        <input type="checkbox" name="fruit" value="banana">香蕉
        <input type="checkbox" name="fruit" value="orange">橘子
    </form>
<script type="text/javascript">
    //必须等待文档加载完进行操作!
    $(function(){
        $("#btn").click(function(){
            /*1.var item = $("input[name=hobby][checked]").val();
            alert(item);
            /*2.$("input[type=radio]").attr("checked",'eat');*/
            /*3.$("input[name=hobby][value=eat]").attr("checked",true);*/
            /*var item = $("select[name=ball] option[selected]").val();
            alert(item)*/
            /*$("select[name=ball]").val("pingpang");*/
            /*$("select[name=ball] option[text='篮球']").attr("selected",true);*/
            /*var item = $("#username").val();
            alert(item);*/
            /*$("#username").val("777");*/
            $("input[name=fruit]").attr("checked",true);
        });
    });
    
</script>
</body>
</html>
View Code

  2.获取被选中的复选框的长度

var l = $("input[name=fruit]:checked").length;

  3.遍历被选中的checkbox的值

$("input[name=fruit]:checked").each(function(){
                alert(this.value);
            });

  当然,也可以包装为jQuery对象的写法:

$("input[name=fruit]:checked").each(function(){
                alert($(this).val());
            });

   全选与全不选

$("#btn1").click(function(){ 
$("input[name='checkbox']").attr("checked","true"); 
}) 

 

  

$("#btn2").click(function(){ 
$("input[name='checkbox']").removeAttr("checked"); 
}) 

   全选框控制一组复选框全选全不选状态:

    //全选框的单击事件:
        $("#check_all").click(function(){
            //直接使用attr()时是undefined,因为我们定义的时候没有定义,我们使用prop()
            //$(this).prop("checked");
            //下面的单个的框的值就是全选的状态的值
            $(".check_item").prop("checked",$(this).prop("checked"));
        });

  未选满时,全选框未选中

//为后来动态生成的check_item绑定单击事件
        $(document).on("click",".check_item",function(){
            //若当前选中的元素为5个全选,则全选按钮选中
                //当然,这里不能写死,如果将来变为6个7个还需改动
            var flag = $(".check_item:checked").length == $(".check_item").length;
                $("#check_all").prop("checked",flag);
            
        });

 

 

//补充:重置表单:$('#yigeform')[0].reset()

posted @ 2017-06-30 22:45  ---江北  阅读(529)  评论(0编辑  收藏  举报
TOP