一、概述

在web页面开发中,经常需要获取和设置表单元素的值(如文本框中的内容),特别是在ajax应用中,更是常态。本文系统的介绍下如何操作。

同操作其它html元素一样,操作的过程差不多。

第一步,需要获取到表单元素对应的jquery(或dom)对象。这个主要是利用jquery的选择器机制。

第二步,调用表单元素的属性和方法来获取和设置值。

其中最常见的就是利用jquery对象的val方法。因为很多表单元素都有标准的 value属性,这个可以通过jquery的 val方法来读取和设置属性值。

如:

<textarea id="mytextarea">ddd</textarea>

alert($("#mytextarea").val());  //获取文本区中的内容

$("#mytextarea").val("good"); //设置内容

不同的表单元素有自己不同的地方,下面我们逐个介绍。

二、文本框和文本域

这两个元素,利用jquery对象的val方法就可以完成相关的操作。如:

<input type="text" id="item" value="good">

<textarea id="item">some msg</textarea>

文本框和文本域内容读写方式是一样的

获取内容

var value = $("#item").val()

设置内容

$("#item").val("hello");

三、下拉框和列表框

在html表单中,下拉框和列表框都是对应select标签,其区别在于size属性的设置。

一个最简单的select元素

<select id="item">

<option value="v1">值1</option>

<option value="v2">值2</option>

<option value="v3">值3</option>

</select>

上面这种写法它表现的是一个下拉框 ,我们可以给select标签设置size属性让它变为列表框,如:<select id="item"  size=3>,这样就是一个列表框。

下拉框就相当于设置 size =1 或0 .  注意 ,如果是下拉框,第一个option是默认选中的,如果是列表框(size值大于1),则没有默认选中的项。

无论是下拉还是列表框,对其最常见的操作就是获取和设置当前选中的option。

1、静态设置选中

给option 元素添加 selected标记,则该元素会被选中。如:

<select id="item">

<option value="v1">值1</option>

<option value="v2" selected>值2</option>

<option value="v3">值3</option>

</select>

这时打开页面,默认value属性为v2的option被选中了。这时调用 $("#item").val() 返回的值是 v2,该值是被选中的option的value属性。

2、动态设置选中

调用$("#item").val("值") 方法,就会选中值为val参数的option项。如果参数值对应的option不存在,则下拉框就会没有任何被选中的项,这时调用$("#item").val() 返回的值是null 。

3、操作被选中项的序号

除了调用 $("#item").val() 可以直接获取被选中项的value值外。还可以利用 $("#item").prop("selectedIndex") 获取selectedIndex属性值,当列表有被选中的option时,则该属性值为该option的序号(注意从0开始),如果列表没有被选中的,则该属性值为-1。

还有通过改变selectedIndex的值来设置被选中项,如

$("#item").prop("selectedIndex",2) 表示第3个元素被选中。

4、获取被选中的option对象(元素)

利用jquery选择器 ,如 $("#item option:selected") 可以获取到被选中的option对象。如:

var obj = $("#item option:selected");

alert(obj.prop("value"));  //显示option的value属性

alert(obj.prop("text"));   //显示option的text属性

5、获取option元素

因为option也是一个html标签,就可以同普通的html标签一样去通过js访问它。

利用options属性可以获取到所有option元素

如:$("#item").prop("options") 返回所有的option对象(注意是dom对象,不是jquery对象)

$("#item").prop("options")[0].value  //第一个option的value属性

$("#item").prop("options")[0].text  //第一个option的text值,就是显示的文本内容

还可以直接通过选择器来操作,如:

var obj = $("#item option"); //获取所有的option元素

obj.each(function(index,data){

alert(data.value);

});

6、length属性

利用 $("#item").prop("length") 可以获取select元素option的个数

当然还有其它方法,如:

$("#item").prop("options").length

7、multiple属性

当给select元素设置multiple标记时,表示该列表框中元素可以被多选。

<select id="item" multiple size =3>

<option value="v1">值1</option>

<option value="v2" >值2</option>

<option value="v3">值3</option>

</select>

需要注意的是,如果设置多选,则需要设置size属性,让表现方式为列表框,这样才可以进行多选操作。 这时调用 val方法时,如果有多项被选中,则返回的值为多个选项的value以逗号分隔。如上面全选,则返回值为 v1,v2,v3。

注意,不能反而来通过 val("v1,v2")来同时设置多个选项被选中。这时就需要通过设置 selected属性来设置被选中了。如:

var obj = $("#item option"); //获取所有的option元素
            obj.each(function(index,data){
                $(data).prop("selected",true);
            });

上面代码选中所有的option。

四、小结

本文介绍了如何操作表单元素中的文本框和下拉框。后续的文章中对其它表单元素分别介绍。

Jquery学习笔记:操作form表单元素之一(文本框和下拉框)的更多相关文章

  1. 前端 HTML form表单标签 select标签 option 下拉框

    <select></select> select里面通常跟option配合使用 <!DOCTYPE html> <html lang="en&quo ...

  2. 学习笔记之form表单

    form表单提交的数据 是字典类型 这样 方便在create时候 直接解压

  3. Jquery学习笔记:操作form表单元素之二(复选框和单选框)

    在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...

  4. Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法

    Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法 昨天在开发的时候遇到个小问题,就是如何将Grid的内容与Form一起发送到服务器端.默认情况下,表单(F ...

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

    操作form表单 1. 属性操作 设置属性: // 第一个参数表示:要设置的属性名称 // 第二个参数表示:该属性名称对应的值 $(selector).attr(“title”, “传智播客”); 获 ...

  6. jquery实现ajax提交form表单的方法总结

    本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一:  function AddHandlingFeeToRefund( ...

  7. html基本标签表单实现交互原理,单选框,复选框,下拉框介绍

    表单是什么?表单是前端和服务器做交互的一种机制,表单收集用户输入信息,之后发送或者提交给服务器.用户在输入的信息称之为内容,内容的文本分为普通和密码型,用户通过单选框.复选框.下拉框(也就是下拉菜单) ...

  8. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  9. 通过jquery来实现文本框和下拉框动态添加效果,能根据自己的需求来自定义最多允许添加数量,实用的jquery动态添加文本框特效

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. 关于Comparable接口的使用

    一.使用Comparable接口进行排序:如何要都某种数据类型或者是自定义的类进行排序必须要实现Comparable jdk定义的基本数据类型和String类型的数据都实现了Comparable.下面 ...

  2. android设置按钮按下的不同效果图

    <!-- 按钮设置按下去的不同效果的方式,设置android:background属性, 下面的 button_select实际上是button_select.xml --> <Bu ...

  3. Nginx中location配置[转]

    关于一些对location认识的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我 ...

  4. python2.5_1.5_通过指定的端口和协议找到服务名

    代码如下: # -*- coding: utf-8 -*- import socket def find_service_name(): protocolname = 'tcp' for port i ...

  5. 直播服务器Nginx

    Mac直播服务器Nginx配置对HLS的支持 在上一篇中Mac上搭建直播服务器Nginx+rtmp,我们已经搭建了nginx+rtmp直播服务器.下面需要对Nginx服务器增加对HLS的支持.在Ngi ...

  6. mysql基础(mysql数据库导入到处) 很基础很实用

    一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...

  7. Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题

    使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志.有些时候就不能. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. 有些时 ...

  8. 省部级干部list

    省部级干部表 省(市.自治区) 省(市)委书记 省(市)人大主任 省(市)长 省(市)政协主席 北京市 郭金龙 杜德印 王安顺 吉林 天津市 黄兴国 肖怀远 黄兴国 臧献甫 上海市 韩正 殷一璀(女) ...

  9. 1214 线段覆盖wiki oi

    题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,……N.这些坐标都是区间(-999,999)的整数.有些线段 ...

  10. victim是什么意思_victim在线翻译_英语_读音_用法_例句_海词词典

    victim是什么意思_victim在线翻译_英语_读音_用法_例句_海词词典 victim