赞
踩
val()
函数用于设置或返回当前jQuery对象所匹配的DOM元素的value值。
该函数常用于设置或获取表单元素的value属性值。例如:<input>、<textarea>、<select>、<option>、<button>等。
该函数属于jQuery
对象(实例)。
jQueryObject.val( [ values ] )
参数 | 描述 |
---|---|
values | 可选/String/Array/Function类型用于设置的value值。 |
如果没有指定values
参数,则表示获取第一个匹配元素的value值;如果指定了value
参数,则表示设置所有匹配元素的value值。
jQuery 1.4 新增支持:参数values
可以为函数。val()
将根据匹配的所有元素遍历执行该函数,函数中的this
将指向对应的DOM元素。
val()
还会为函数传入两个参数:第一个参数就是该元素在匹配元素中的索引,第二个参数就是该元素当前的value属性值。函数的返回值就是需要为该元素设置的value值。
如果参数values
为null
或undefined
,则将其视作空字符串("")。如果参数values
不是字符串或函数类型,并且当前元素不是多选的选择框(多选选择框会特殊处理数组类型),则其他类型的值均会被转换为字符串( toString() )。
val()
函数的返回值是String/Array/jQuery类型,返回值的实际类型取决于val()
函数所执行的操作。
如果val()
函数执行的是设置操作,将返回当前jQuery对象本身。如果执行的是获取操作,将返回第一个匹配元素的value属性值,该值一般为字符串类型;如果该元素是多选的<select>元素,则返回包含所有选中值的数组。
以下面这段HTML代码为例:
- <form id="n1" name="myForm" method="post">
- <input id="n2" class="normal" name="username" type="text" ><br>
- <input id="n3" class="normal" name="password" type="password" value="123456" ><br>
- <input id="n4" class="normal" name="user_id" type="hidden" value="1" ><br>
-
- <input id="n5" name="uid" type="checkbox" value="12" >12
- <input id="n6" name="uid" type="checkbox" checked="checked" value="13" >13
- <input id="n7" name="uid" type="checkbox" checked="checked" value="14" >14<br>
-
- <input id="n8" name="gender" type="radio" checked="checked" value="men" >男
- <input id="n9" name="gender" type="radio" value="women" >女<br>
-
- <textarea id="n10" name="content" rows="3" cols="80">此处是内容</textarea><br>
-
- <select id="n11" name="answer">
- <option value="A">选项A</option>
- <option value="B" selected="selected">选项B</option>
- <option value="C">选项C</option>
- <option value="D">选项D</option>
- </select><br>
-
- <select id="n12" name="multiAnswer" multiple="multiple">
- <option value="A">A</option>
- <option value="B">B</option>
- <option value="C" selected="selected">C</option>
- <option value="D" selected="selected">D</option>
- </select><br>
- </form>
我们编写如下jQuery代码:
var $n2 = $("#n2"); document.writeln( $n2.val() ); // (空字符串) // 设置n2的value为"CodePlayer" $n2.val("CodePlayer"); var $n3 = $("#n3"); document.writeln( $n3.val() ); // 123456 // 设置n3的value为"" $n3.val(""); // 将含有类名normal的所有input元素的value设为"123" $("input.normal").val( "123" ); document.writeln( $n2.val() ); // 123 document.writeln( $n3.val() ); // 123 document.writeln( $("#n4").val() ); // 123 var $checkedUid = $("[name=uid]:checked"); // 虽然匹配的元素有n6、n7两个,但只会获取第一个匹配元素的值 document.writeln( $checkedUid.val() ); // 13 var $checkedGender = $("[name=gender]:checked"); document.writeln( $checkedGender.val() ); // men // 如果单选按钮的value为"men"和"women",将其改为"男"和"女" $(":radio").val( function(index, currentValue){ // 函数内的this指向当前迭代的DOM元素 if( currentValue == "men"){ return "男"; }else if( currentValue == "women"){ return "女"; }else { // 其他值不变 return currentValue; } }); var $n9 = $("#n10"); document.writeln( $n9.val() ); // 此处是内容 $n9.val("新的内容"); var $n10 = $("#n11"); document.writeln( $n10.val() ); // B // 将单选的选择框的选中项改为value为C的option $n10.val("C"); var $n11 = $("#n12"); document.writeln( $n11.val() ); // C,D // 将多选的选择框的选中项改为value分别为A、B、C的3个option $n11.val( ["A", "B", "C"] );
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。