jQuery coffeescript 中的简单 each/while 循环无法按预期工作
jQuery simple each/while loop in coffeescript does not work as expected
我一直在尝试几种方法来解决这个问题。基本上我必须以完全相同的方式修改几个下拉菜单的内容。所以我虽然我可以使用 each 或一段时间来变得更干,但我在 coffeeScript 方面没有那么多经验。
这是要重构的 'working' undry 代码:
$('#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 ++
出于某些原因,我一直在尝试对每个方法进行多种变体,我可以断言我可以 console.log 选择器并且它 returns 正确的值,但是当涉及到更改值,代码似乎没有按预期工作。
感谢任何帮助。
我不是咖啡脚本用户。
但是查看您的代码,您似乎使用 jquery 来迭代数组。
我假设你的意思是使用 Array.forEach 代替..
例如
arr = ['someId', 'someOtherId']
arr.forEach (el) =>
$('#'+el).val('someVal')
尝试:
arr = ['someId', 'someOtherId']
for value, index in arr
$("##{value}").val('someVal')
或者如果您不关心索引:
arr = ['someId', 'someOtherId']
for value in arr
$("##{value}").val('someVal')
我一直在尝试几种方法来解决这个问题。基本上我必须以完全相同的方式修改几个下拉菜单的内容。所以我虽然我可以使用 each 或一段时间来变得更干,但我在 coffeeScript 方面没有那么多经验。
这是要重构的 'working' undry 代码:
$('#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 ++
出于某些原因,我一直在尝试对每个方法进行多种变体,我可以断言我可以 console.log 选择器并且它 returns 正确的值,但是当涉及到更改值,代码似乎没有按预期工作。
感谢任何帮助。
我不是咖啡脚本用户。 但是查看您的代码,您似乎使用 jquery 来迭代数组。 我假设你的意思是使用 Array.forEach 代替.. 例如
arr = ['someId', 'someOtherId']
arr.forEach (el) =>
$('#'+el).val('someVal')
尝试:
arr = ['someId', 'someOtherId']
for value, index in arr
$("##{value}").val('someVal')
或者如果您不关心索引:
arr = ['someId', 'someOtherId']
for value in arr
$("##{value}").val('someVal')