在每个循环 jQuery 中使用数组数据



这是我的数组和每个循环。我想查找具有特定类的每个input字段并设置其值。你们能明白为什么这不起作用吗?

var inputTextIDs = [
[".hotelLocaiton", "Location"],
["#agentTransfersSearchForm_filter_transfersName", "Location"]
];
$.each(inputTextIDs,function(i,v){
$('input'+inputTextIDs[i]).val(inputTextIDs[v]);
}); 

在这里,您可以使用解决方案 https://jsfiddle.net/sae7mv3e/

var inputTextIDs = [
[".hotelLocaiton", "Location"],
["#agentTransfersSearchForm_filter_transfersName", "Location"]
];

$.each(inputTextIDs,function(i,v){
$('input'+inputTextIDs[i][0]).val(inputTextIDs[i][1]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="hotelLocaiton" />
<input type="text" id="agentTransfersSearchForm_filter_transfersName" />

由于它是一个二维数组,其中您仅提供 1 维作为i

访问 2D 数组,您需要执行类似inputTextID[i][0] 的操作。

在 $.each(inputTextIDs,function(i,v({ 中,'i' 是索引,'v' 是值。因此,i 将为 0,1,2,v 将等于数组中的值。在您的情况下,您在一个大数组中具有数组。因此,inputTextIDs[0] 将获得大数组中的第一个数组,即 [".hotelLocaiton", "Location"],然后 inputTextIDs[0][0] 将获得该数组中的第一个值,即 '.hotelLocation' 和 inputTextID[0][1] 将获得 'Location'。

因此,以下代码将起作用:

var inputTextIDs = [
[".hotelLocaiton", "Location"],
["#agentTransfersSearchForm_filter_transfersName", "Location"]
];
$.each(inputTextIDs,function(i,v){
$('input'+inputTextIDs[i][0]).val(inputTextIDs[i][1]);
});

最新更新