jQuery简单的coffeescript中的每个/ while循环不能按预期工作

时间:2016-09-26 10:33:08

标签: javascript jquery foreach while-loop coffeescript

我一直在尝试这种方法。基本上我必须以完全相同的方式修改几个下拉列表的内容。所以我虽然可以使用每一段或更长一段时间来更干,但我没有那么多的coffeeScript经验。

以下是“正在工作”的反编译代码:

$('#someId').val('someVal')
$('#someOtherId').val('someVal')

这是我的第一次尝试:

arr = ['someId', 'someOtherId']
$.each arr, (i, el) =>
  $('#'+el).val('someVal')

这是我的第二次尝试:

arr = ['someId', 'someOtherId']
length = arr.length
counter = 0
while counter < length
 $('#' + arr[counter]).val('someVal')
 counter ++

由于某些原因,我一直在尝试每个approch的多个变体,我可以断言我可以console.log选择器并返回正确的值,但是当它改变值时,代码似乎不是按预期工作。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试:

arr = ['someId', 'someOtherId']
for value, index in arr
    $("##{value}").val('someVal')

或者,如果你不关心索引:

arr = ['someId', 'someOtherId']
for value in arr
    $("##{value}").val('someVal')

答案 1 :(得分:0)

我不是咖啡脚本用户。 但是看看你的代码看起来就像你使用jquery来迭代一个数组。 我假设你的意思是使用Array.forEach代替.. 例如

arr = ['someId', 'someOtherId']
arr.forEach (el) =>
    $('#'+el).val('someVal')