jQuery AutoNumeric不格式化多个字段

时间:2016-02-04 06:00:58

标签: javascript jquery html plugins

我尝试了很多东西,正在撞墙。我似乎无法将jQuery自动数字插件应用于多个输入字段。

<script type="text/javascript">
  $(document).ready(function() { 
    $("#numeric").autoNumeric('init', {aSign: '$ '});
  }); 
</script>

然后我在几个输入字段中使用它......

<tr id="row">
  <td width="5%"><input id="numeric" type="text" name="price" data-a-sign="$ "></td>
</tr>
<tr id="row">
  <td width="5%"><input id="numeric" type="text" name="price" data-a-sign="$ "></td>
</tr>
<tr id="row">
  <td width="5%"><input id="numeric" type="text" name="price" data-a-sign="$ "></td>
</tr>

由于某种原因,格式仅适用于第一个字段。因此,当我输入第一个输入字段时,它会将其格式化为我喜欢(例如$ 12.50)。但是下一个字段只是表现得好像什么都没有改变,而只是文本字段。在阅读了另一篇文章之后,我还尝试使用数组代替输入名称:

name="price[]"

我还尝试了不同的名称,例如price1,price2,price3,但这并不起作用,也不是因为动态创作我喜欢它们的名称其他项目。

任何帮助/建议/想法?提前谢谢。

1 个答案:

答案 0 :(得分:1)

ID是唯一的,您要分配多个字段ID,因此在初始化时,选择使用给定ID找到的第一个元素。使用类似这样的类/标签选择器:

<tr id="row">
  <td width="5%"><input class="numeric" type="text" name="price" data-a-sign="$ "></td>
</tr>
<tr id="row">
  <td width="5%"><input class="numeric" type="text" name="price" data-a-sign="$ "></td>
</tr>
<tr id="row">
  <td width="5%"><input class="numeric" type="text" name="price" data-a-sign="$ "></td>
</tr>

  $(document).ready(function() { 
      $(".numeric").autoNumeric('init', {aSign: '$ '});
  });

OR 使用标记选择器:

$(document).ready(function() { 
    $("input").autoNumeric('init', {aSign: '$ '});
});