页面加载完成后,我正在寻找包含id为“check_status”的元素(数字输入字段)的表格单元格。然后我循环遍历它们(示例简化为console.log)。
的CoffeeScript
ready = ->
$('td').find('#check_status').each (i, el) =>
console.log el.val()
return
$(document).ready(ready);
$(document).on('page:load', ready);
HTML
<td>
<div>
<input type="number" value="1" name="check[status]" id="check_status">
</div>
</td>
<td>
<div>
<input type="number" value="0" name="check[status]" id="check_status">
</div>
</td>
<td>
<div>
<input type="number" value="2" name="check[status]" id="check_status">
</div>
</td>
$('td')的Console.log.find('#check_status')给了我所需的所有元素,但是el.val()的console.log给出了“el未定义”。为什么呢?
答案 0 :(得分:0)
ID应该是唯一的。您应该将id="check_status"
更改为class="check_status"
,将选择更改为find('.check_status')
。
答案 1 :(得分:0)
您是否尝试过 .each(),其中包含功能?
像这样:
$('td').find('#check_status').each (function (i, el){
console.log (el.val())
});
答案 2 :(得分:0)
罪魁祸首最终成为了这个(来自Rails 4: how to use $(document).ready() with turbo-links的片段):
$(document).ready(ready);
$(document).on('page:load', ready);
ready = ->
... function contents ...
不太确定为什么这使得ready函数中的每一个都失败了,但是当我改为使用时它工作正常:
$(document).ready ->
... function contents ...