0

我是 jQuery 新手,我似乎无法让以下代码工作..

for ( var i = 0; i < 2; i++ ) {
  $status[i] = $('select[name="status'+ i +'"] option:selected').val();
  $odd_a[i] = $("input:text[name='odd_a"+ 1 +"']").val();
  $odd_b[i] = $("input:text[name='odd_b"+ 1 +"']").val();
  $term[i] = $("select[name='term"+ 1 +"'] option:selected").val();
  $dh_place[i] =  $("input:text[name='dh_place"+ 1 +"']").val();
  $dh_total[i] = $("input:text[name='dh_total"+ 1 +"']").val();   
}   

我有几个文本框“status1、status2、status3 等。我需要通过 for 循环调用它们的名称。如果我将“i”替换为“1”,它就可以工作。我似乎无法调用变量“i”那个位置。

4

2 回答 2

1

尝试

  $status[i] = $('select[name="status'+ i +'"]').val();

你需要从喜欢开始i价值1

for ( var i = 1; i < 2; i++ ) {
于 2013-11-01T11:00:55.800 回答
0

我可以看到的一个问题是您的输入i0where 开头1,因此第一个循环不会返回任何元素。

for (var i = 0; i < 2; i++) {
    $status[i] = $('select[name="status' + (i + 1) + '"]').val();
    $odd_a[i] = $("input:text[name='odd_a" + (i + 1) + "']").val();
    $odd_b[i] = $("input:text[name='odd_b" + (i + 1) + "']").val();
    $term[i] = $("select[name='term" + (i + 1) + "']").val();
    $dh_place[i] = $("input:text[name='dh_place" + (i + 1) + "']").val();
    $dh_total[i] = $("input:text[name='dh_total" + (i + 1) + "']").val();
}
于 2013-11-01T11:01:15.820 回答