我使用rails生成一个表单,允许用户单击按钮向表中添加新行。截至目前,用户可以点击添加按钮,然后会出现一个新行。
我遇到的问题是使用autoNumeric来掩盖百分比值的列。 JS不适用于用户动态创建的列。我正在使用类,所以我很困惑为什么autoNumeric masking在用户添加时不会应用于新行。百分比' class正在处理表单的其他部分。
# JS
$(function() {
$('.percentage').autoNumeric('init', {aSign: '%', pSign: 's'});
});
# the field is set to the proper class
<tr class="fields">
<td><input class="percentage" placeholder="Equity %" type="text"></td>
</tr>
# link that adds a new row
<a class="add_nested_fields" data-association="business_contacts" data-blueprint-id="business_contacts_fields_blueprint" data-target="#business_contacts" href="javascript:void(0)">Add a field</a>
添加的每一行都有class =&#34; fields&#34;在上面。我已经尝试了JS的onClick但没有获得成功的结果。
答案 0 :(得分:0)
在页面加载后运行JS时,autoNumeric
会在.percent
类的所有DOM元素上调用autoNumeric
。
但是当您添加新行时,您需要再次调用 Function addRow(){ $.('.container').append(this.$row); $.('.percent').autoNumeric();}
Or you can share ur js code so I can help better.
$.('.add_nested_fields').click(function()$.('.percent').autoNumeric();})
。
例如:
$(function() { $(document).on('nested:fieldAdded', function(event){ $('.percentage').autoNumeric('init', {aSign: '%', pSign: 's'}); })});
编辑:提问者@Questifier
找到的解决方案{{1}}
完美无缺。你问我之后,我更多地了解了宝石。如果您愿意,请复制该代码并将其作为答案 - 感谢您的帮助。