我可以写一个javascript / coffeescript来处理具有相同前缀的多个输入吗?

时间:2013-12-08 09:03:11

标签: javascript ruby-on-rails coffeescript

我正在尝试在rails中构建一个表单循环,它将创建(以及其他)以下两个输入的多个实例:

<input class="input-small" id="offer_value" min="0" name="offer[value]" step="any" type="number" />
<input class="input-small" id="total" readonly="readonly" value=""/>

根据以下coffeescript,第二个值应根据第一个值的变化而变化:

$ ->
  $('#offer_value').change ->
    $('#total').val($('#offer_value').val()*2).change();

我的问题是,如果我给所有人(offer_value,total)提供相同的id,那么coffeescript只会查找它找到的第一个(无论如何都会给出相同的id声音。)

如果我提供唯一的ID(offer_value1,offer_value2,...),那么如何在不为所有人编写coffeescripts的情况下捕获它们呢?

1 个答案:

答案 0 :(得分:1)

如果您通过Id(#选择器)选择JQuery,您将只获得一个元素,因为Id应该是唯一的,JQuery将使用getElementById

因此,请按类(.选择器)

进行选择

查看此答案以获取更多信息https://stackoverflow.com/a/8498617/643500

修改

对输入使用相同的类。

<input class="input-small offer_value" min="0" name="offer[value]" step="any" type="number" />
<input class="input-small" id="total" readonly="readonly" value=""/>

然后是剧本

$ ->
  $('.offer_value').keyup ->
    $(this).next().val($(this).val()*2).change();