加载中...

val()


概述    .val()

返回值:String

描述:获取匹配的元素集合中第一个元素的当前值。

  • V : 1.0.val()

    • 这个方法不接受任何参数。

.val()方法主要用于获取表单元素的值,如input, selecttextarea。当在一个空集合上调用,它返回undefined

当该集合中第一个元素是一个select-multiple(即,select元素设置了multiple属性),.val()返回一个包含每个选择项值的数组。在jQuery 3.0中, 如果没有选项被选中,它将返回一个空数组;在jQuery 3.0之前的版本中, 它将返回null

对于选择框(select),复选框(checkbox)和单选按钮(radio button),您也可以使用:selected:checked选择器来获取值,例如:

  1. // 在下拉列表中获取所选选项的值
  2. $( "select#foo option:checked" ).val();
  3. // 直接从下拉列表中选择值
  4. $( "select#foo" ).val();
  5. // 从复选框获取选中值
  6. $( "input[type=checkbox][name=bar]:checked" ).val();
  7. // 从一组单选按钮获取选中值
  8. $( "input[type=radio][name=baz]:checked" ).val();

注意: 通过 .val() 方法从 <textarea> 元素中获取的值是不含有回车(\r)字符的。但是如果该值是通过 XHR 传递给服务器的,回车(\r)字符会被保留(或者是被浏览器添加的,但是在原始数据中并不包含回车(\r))。可以使用下面的 valHook 方法解决这个问题:

  1. $.valHooks.textarea = {
  2. get: function( elem ) {
  3. return elem.value.replace( /\r?\n/g, "\r\n" );
  4. } };

示例

实例

从单一列表框和复选列表中取值,并显示选中的值。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>val demo</title>
  6. <style>
  7. p {
  8. color: red;
  9. margin: 4px;
  10. }
  11. b {
  12. color: blue;
  13. }
  14. </style>
  15. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  16. </head>
  17. <body>
  18. <p></p>
  19. <select id="single">
  20. <option>Single</option>
  21. <option>Single2</option>
  22. </select>
  23. <select id="multiple" multiple="multiple">
  24. <option selected="selected">Multiple</option>
  25. <option>Multiple2</option>
  26. <option selected="selected">Multiple3</option>
  27. </select>
  28. <script>
  29. function displayVals() {
  30. var singleValues = $( "#single" ).val();
  31. var multipleValues = $( "#multiple" ).val() || [];
  32. // When using jQuery 3:
  33. // var multipleValues = $( "#multiple" ).val();
  34. $( "p" ).html( "<b>Single:</b> " + singleValues +
  35. " <b>Multiple:</b> " + multipleValues.join( ", " ) );
  36. }
  37. $( "select" ).change( displayVals );
  38. displayVals();
  39. </script>
  40. </body>
  41. </html>

运行一下

实例

取得文本框的值。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>val demo</title>
  6. <style>
  7. p {
  8. color: blue;
  9. margin: 8px;
  10. }
  11. </style>
  12. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  13. </head>
  14. <body>
  15. <input type="text" value="some text">
  16. <p></p>
  17. <script>
  18. $( "input" )
  19. .keyup(function() {
  20. var value = $( this ).val();
  21. $( "p" ).text( value );
  22. })
  23. .keyup();
  24. </script>
  25. </body>
  26. </html>

运行一下

概述    .val( value )

返回值:jQuery

描述:设置匹配的元素集合中每个元素的值。

  • V : 1.0.val( value )

    • value
      类型: String or Number or Array
      一个文本字符串,一个数字,或一个以字符串形式的数组来设定每个匹配元素的值。
  • V : 1.4.val( function )

    • function
      类型: Function( Integer index, String value ) => String
      一个用来返回设置值的函数。this 指向当前元素。接收的集合中元素的索引位置和原来的值作为参数。

此方法通常用于设置表单字段的值。

val() 允许你传递一个元素值的数组。当使用在包含像<input type="checkbox">, <input type="radio">, 和<select>中的 <option>元素的jQuery对象上的时候是非常有用的。在这种情况下,inputoptionvalue与数组元素相匹配的情况下将被选中(checked)或选定(selected),而那些与数组元素值不匹配的value是未选中(unchecked)或未被选(unselected),这取决于元素类型。对于 <input type="radio"> 属于一个单选按钮组 ,还有<select>的其他元素都将被取消选中。

使用这个方法(或使用原生的value属性(property))设置值,不会触发change事件。为此,相关的事件处理程序不会被执行。如果要执行它们,你应该在设置值之后调用 .trigger( "change" )

.val() 方法允许通过一个函数来设置这个值。 从 jQuery 1.4 开始, 这个函数通过两个参数,当前元素的所引值和它当前的值:

  1. $('input:text.items').val(function( index, value ) {
  2. return value + ' ' + this.className;
  3. });

这个示例将字符串" items" 附给文本框。

示例

参数array 实例

设定一个select和一个多选的select的值

HTML 代码:
  1. <select id="single">
  2. <option>Single</option>
  3. <option>Single2</option>
  4. </select>
  5. <select id="multiple" multiple="multiple">
  6. <option selected="selected">Multiple</option>
  7. <option>Multiple2</option>
  8. <option selected="selected">Multiple3</option>
  9. </select><br/>
  10. <input type="checkbox" value="check1"/> check1
  11. <input type="checkbox" value="check2"/> check2
  12. <input type="radio" value="radio1"/> radio1
  13. <input type="radio" value="radio2"/> radio2
jQuery 代码:
  1. $("#single").val("Single2");
  2. $("#multiple").val(["Multiple2", "Multiple3"]);
  3. $("input").val(["check2", "radio1"]);

实例

点击按钮时,在文本框中显示按钮的值。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>val demo</title>
  6. <style>
  7. button {
  8. margin: 4px;
  9. cursor: pointer;
  10. }
  11. input {
  12. margin: 4px;
  13. color: blue;
  14. }
  15. </style>
  16. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  17. </head>
  18. <body>
  19. <div>
  20. <button>Feed</button>
  21. <button>the</button>
  22. <button>Input</button>
  23. </div>
  24. <input type="text" value="click a button">
  25. <script>
  26. $( "button" ).click(function() {
  27. var text = $( this ).text();
  28. $( "input" ).val( text );
  29. });
  30. </script>
  31. </body>
  32. </html>
运行一下

实例

将函数作为参数设置文本框的值。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>val demo</title>
  6. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  7. </head>
  8. <body>
  9. <p>Type something and then click or tab out of the input.</p>
  10. <input type="text" value="type something">
  11. <script>
  12. $( "input" ).on( "blur", function() {
  13. $( this ).val(function( i, val ) {
  14. return val.toUpperCase();
  15. });
  16. });
  17. </script>
  18. </body>
  19. </html>
运行一下

实例

设置单一列表框,复选列表,复选框和单选按钮的值。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>val demo</title>
  6. <style>
  7. body {
  8. color: blue;
  9. }
  10. </style>
  11. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  12. </head>
  13. <body>
  14. <select id="single">
  15. <option>Single</option>
  16. <option>Single2</option>
  17. </select>
  18. <select id="multiple" multiple="multiple">
  19. <option selected="selected">Multiple</option>
  20. <option>Multiple2</option>
  21. <option selected="selected">Multiple3</option>
  22. </select>
  23. <br>
  24. <input type="checkbox" name="checkboxname" value="check1"> check1
  25. <input type="checkbox" name="checkboxname" value="check2"> check2
  26. <input type="radio" name="r" value="radio1"> radio1
  27. <input type="radio" name="r" value="radio2"> radio2
  28. <script>
  29. $( "#single" ).val( "Single2" );
  30. $( "#multiple" ).val([ "Multiple2", "Multiple3" ]);
  31. $( "input").val([ "check1", "check2", "radio1" ]);
  32. </script>
  33. </body>
  34. </html>
运行一下


还没有评论.