按时间页面加载制作jQuery插件autoNumeric格式字段
Posted
技术标签:
【中文标题】按时间页面加载制作jQuery插件autoNumeric格式字段【英文标题】:making jQuery plug-in autoNumeric format fields by time page loads 【发布时间】:2011-03-01 04:34:15 【问题描述】:我一直在搞乱autoNumeric,这是一个用于格式化货币字段的 jQuery 插件。
我想连接插件,以便在用户看到页面时(例如在加载时)对所有货币字段进行格式化。
目前,我似乎无法绕过的默认设置是字段根据字段本身中的模糊、按键或其他操作进行格式化。
我一直在试验插件代码,看起来这个相对较新的人需要一些时间来解决这个问题,如果有的话。
有人知道吗?
里尔
【问题讨论】:
【参考方案1】:触发 'focusout' 事件会格式化字段。触发“更改”在最新版本 (1.7.4) 中不起作用。
$('input.money').autoNumeric(aNeg: '-').trigger('focusout');
【讨论】:
这个对我有用,而不是 andr111 的答案。谢谢【参考方案2】:autoNumeric 会在 'onchange' 事件触发后进行所有格式化。因此,您只需要以编程方式触发此事件。像这样:
$('input.money').autoNumeric(aNeg: '-').trigger('change');
希望这会有所帮助!
【讨论】:
【参考方案3】:我自己也遇到了这个问题。我必须使它更通用,但这对我有用:
$('input.auto-numeric').ready(function()
var format_options =
aSign: '$'
;
$('input.auto-numeric').each(function()
$(this).autoNumeric(format_options);
if($(this).attr('id'))
$(this).val($.fn.autoNumeric.Format($(this).attr('id'), $(this).val(), format_options));
);
);
【讨论】:
【参考方案4】:这应该可行。
jQuery(function($)
$('input.auto').ready(function()
$('input.auto').autoNumeric();
var inputID = uniqueID; // use the jQuery.get() function to retrieve data
var formatValue = '1234.00'; // use the jQuery.get() function to retrieve data
if(jQuery().autoNumeric)
$('#id').val($.fn.autoNumeric.Format(inputID, formatValue));
else
alert('plugin not available');
);
);
鲍勃
【讨论】:
【参考方案5】:这就是我最终所做的:
$(document).ready(function()
$('input.auto').autoNumeric();
$('input.auto').each(function()
var element = this
if(element.value !="")
$('#'+element.id).val($.fn.autoNumeric.Format(element.id, element.value));
);
);
【讨论】:
【参考方案6】:另一种强制格式化的方法是使用“更新”之类的
$(".input-numeric").autoNumeric('update');
【讨论】:
【参考方案7】:在当前版本 2.*
及更高版本中,由于 formatOnPageLoad
选项设置为 true
,默认情况下会执行此操作。
就这么简单;)
【讨论】:
以上是关于按时间页面加载制作jQuery插件autoNumeric格式字段的主要内容,如果未能解决你的问题,请参考以下文章
[Web移动端H5页面制作] 使用localStorage缓存js和css文件
jQuery 插件 (DataTables) 仅在页面刷新时正确加载
页面滚动图片等元素动态加载插件jquery.scrollLoading.js