下面我来详细讲解一下“jQuery val()的例子”的完整攻略。
概述
val()
是jQuery中一个非常常用的方法,用于获取或设置表单(特别是输入框)元素的值。本攻略将会介绍val()的基本用法以及实例应用。
基本用法
获取元素的值
当我们需要获取一个输入框元素(input) 或 下拉列表元素(select) 的值时,可以使用val()方法。
// 获取 input 元素的值
var inputVal = $('input[name="username"]').val();
// 获取 select 元素的值
var selectVal = $('select[name="city"]').val();
设置元素的值
当我们需要设置一个输入框元素(input) 或 下拉列表元素(select) 的值时,可以使用val(value)方法。
// 设置 input 元素的值
$('input[name="username"]').val('Mike');
// 设置 select 元素的值
$('select[name="city"]').val('Shanghai');
示例说明
示例 1 – 动态表单输入
下面是一个实际场景的应用,动态添加表单输入框,并通过val()方法获取/设置输入框的值。
HTML代码:
<form>
<button id="addInput">添加输入框</button>
<div id="inputList"></div>
<button id="submit">提交</button>
</form>
JS代码:
$(function(){
var inputIndex = 0;
$('#addInput').on('click', function(){
inputIndex++;
$('#inputList').append('<input name="input'+inputIndex+'" type="text"><br>');
});
$('#submit').on('click', function(){
var inputValues = [];
$('input[type="text"]').each(function(){
inputValues.push($(this).val());
});
console.log(inputValues);
});
});
效果:点击“添加输入框”按钮,可以动态添加一个输入框,输入框的name属性按照“input+数字”的格式递增。输入完毕后,点击“提交”按钮,控制台会输出所有输入框的值。
示例 2 – 对话框输入及验证
下面是一个实际场景的应用,利用val()方法获取/设置对话框(textarea)的值,并在提交时验证输入是否合法。
HTML代码:
<form>
<button id="openDialog">打开对话框</button><br>
<textarea id="dialog" rows="5" cols="30"></textarea><br>
<button id="submit">提交</button>
</form>
JS代码:
function showDialog(callback){
var $dialog = $('#dialog');
$dialog.val('');
$dialog.dialog({
modal: true,
buttons: {
"确定": function() {
var input = $dialog.val();
if(input === ''){
alert('对话框内容不能为空!');
return;
}
$dialog.dialog("destroy");
callback(input);
},
"取消": function() {
$dialog.dialog("destroy");
}
}
});
}
$(function(){
$('#openDialog').on('click', function(){
showDialog(function(input){
console.log(input);
});
});
});
效果:点击“打开对话框”按钮,会弹出一个对话框,输入要求的文本。点击“确定”按钮,控制台会输出对话框的文本内容。如果对话框内容为空,则会弹出提示框告知不能为空。