0

对于页面上的每个输入字段,其 ID 以“_name”和“_value”结尾,我放置在两个数组中。对于名称数组中的每个输入值(nameArr 和 valArr 的输入数量相同),我想将其放在 namrArr 的输入之前作为标题,然后隐藏输入。但是,一旦将输入的值放入数组中,我似乎无法访问它?

var name = $("[id$=_name]");
var nameArr = $.makeArray(name);
var val = $("[id$=_value]");
var valArr = $.makeArray(val);

for(var i = 0; i < valArr.length; i++){
    $(nameArr[i]).before("<h3>"+nameArr[i].val()+"</h3>");
    $(nameArr[i]).hide();
}
4

3 回答 3

1

你不需要把它变成一个数组,它已经是了。

for(var i = 0; i < val.length; i++){
    $(name[i]).before("<h3>"+$(name[i]).val()+"</h3>");
    $(name[i]).hide();
}
于 2013-07-25T10:54:39.790 回答
1

您可以简化它,因为您的 jQuery 选择器已经返回一个数组:

$("[id$=_name]").each(function (index, item) {
    $(this).before("<h3>" + $(this).val() + "</h3>");
    $(this).hide();
});
于 2013-07-25T10:55:47.700 回答
0

使用map()..

  var valuesArray=$("[id$=_name]").map(function(){
      return this.value;
 }).get();

  var namesArray=$("[id$=_value]");


 for(var i = 0; i < namesArray.length; i++){
   $(namesArray[i]).before("<h3>"+valuesArray[i]+"</h3>");
   $(namesArray[i]).hide();
 }
于 2013-07-25T10:56:54.040 回答