0

因此,我正在使用(玩,因为我不是受雇的开发人员)Web 表单上的许多不同输入。最终的结果是它们将被发布并保存为 CSV 文件。

但是我的直接问题是关于遍历名称并激活相邻单元格的自动填充的语法

这是一个有效的单个事件的示例代码:

$(".className").keyup(function(){
    var dataPoint = $(this).val();
    if(!$('[name="this_row_1"]') ==''){
        $('[name="that_row_1"]').val(dataPoint);
    }
});

因此,当输入 with".className"改变时,如果"this_row_1"不为空,则将"that_row_1"用 的值填充".className"

该代码有效,但我有许多输入顺序命名的行;"this_row_1"-"this_row_150"等等。

'[name="在类型结构中合并循环的正确语法是什么?

我已经尝试过这种变体但没有成功:

$(".className").keyup(function(){
    var dataPoint = $(this).val();
    for(var i = 1; i < 151; i++)
    if(!$('[name="this_row_"[i]]') ==''){
        $('[name="that_row_"[i]]').val(dataPoint);
    }
});

我不确定您是否甚至可以循环通过'[name=". 如果可以的话,当然我在放置循环变量时遇到了问题。

提前致谢

更新:

这是一个简短的示例 HTML 表单代码,它更好地说明了这个想法:

<input class="className" />
<table>
    <tr>
        <td><input name="this_row_1" /><input name="that_row_1" /></td>
    </tr>
    <tr>
        <td><input name="this_row_2" /><input name="that_row_2" /></td>
    </tr>
    <tr>
        <td><input name="this_row_3" /><input name="that_row_3" /></td>
    </tr>
    <!-- ( . . . ) -->
    <tr>
        <td><input name="this_row_150" /><input name="that_row_150" /></td>
    </tr>
</table>
4

1 回答 1

2

试试这个:

$(".className").keyup(function() {
    var dataPoint = $(this).val();
    for (var i = 1; i < 151; i++) {
      if ($('[name="this_row_' + i + '"]').val() != '') {
        $('[name="this_row_' + i + '"]').val(dataPoint);
      }
    }
});

有几个问题:

  1. 用你的字符串连接'[name="this_row_' + i + '"]'
  2. 你的if语句相等检查!=
  3. 检查.val()_$('[name="this_row_' + i + '"]')

有关更多信息,请参阅Javascript 字符串文档

于 2013-06-01T05:59:11.300 回答