对象上的Jquery.val()
我有一个id对象和两个HTML元素。它们是相同的,因为我将用一个ajax get更新两个相同的元素 我用一个选择器获得了这个变量id,该选择器搜索表单 我的问题: 检查这两个元素还是仅检查此对象id中的第一个元素 如果其中一个元素具有不同的值会怎么样 问了这个问题之后我做了什么 我现在使用从objct获取两个值 添加了一个id相等的检查。 学会了不要跳过第一个大句子的描述 Jquery文档= 非常感谢 根据文档,.val以及所有其他getter方法,返回第一个选定元素的值 .val返回与选择器匹配的第一个元素的值对象上的Jquery.val(),jquery,map,Jquery,Map,我有一个id对象和两个HTML元素。它们是相同的,因为我将用一个ajax get更新两个相同的元素 我用一个选择器获得了这个变量id,该选择器搜索表单 我的问题: 检查这两个元素还是仅检查此对象id中的第一个元素 如果其中一个元素具有不同的值会怎么样 问了这个问题之后我做了什么 我现在使用从objct获取两个值 添加了一个id相等的检查。 学会了不要跳过第一个大句子的描述 Jquery文档= 非常感谢 根据文档,.val以及所有其他getter方法,返回第一个选定元素的值 .val返回与选择器匹
另外,ID必须是唯一的,所以您必须选择另一个唯一的ID,或者用类替换ID。另一个选项是删除id属性并按名称选择:$'[name=id]'。来自jQuery源:
id = [<input type="hidden" name="id" value="test_id">, <input type="hidden" name="id" value="test_id">]
id.val()
Result: "test_id"
使用val测试的元素始终是[0],即集合中的第一个元素,无论有多少个元素或值是什么。如果这是jQuery元素集合,.val将只返回第一个值。。val将检查运行它的元素集中第一个元素的值。如果向.val传递如下函数:.valfunction index,value{},则可以获取运行该函数的元素集中每个元素的值 您可能需要签出.val的文档: 这里有一个演示:如果您更改了任何输入的值,那么所有输入的值都将是console.loged 正如lonesomeday所说,这要求您返回值,以便表单元素保留其值。但是,您可以使用.map获取每个输入的值:
$('input').val(function () {
console.log(this.value);
return this.value;
});
下面是一个使用.map的演示:
…也可以使用循环:
$('input').map(function (index, element) {
console.log(this.value);
});
它只获取第一个的值。 来自: val=获取集合中第一个元素的当前值 匹配元素
因此,它只对选择器匹配的第一个元素起作用。如果希望所有值都使用map函数
var $inputs = $('input');
for (var i = 0, len = $inputs.length; i < len; i++) {
console.log($inputs[i][0].value);//or inputs[i].val() will also work
}
在询问您是否可以编写一个三行脚本来测试这个问题之前,很容易阅读文档。@Archer如何在三行中测试这个问题?@Azd325 1。对于变量i=0,len=id.length,i
var $inputs = $('input');
for (var i = 0, len = $inputs.length; i < len; i++) {
console.log($inputs[i][0].value);//or inputs[i].val() will also work
}
var ids = id.map(function(index, element){
return $(this).val();
})