我正在创建我的第一个jQuery插件,它会自动将数字格式化为各种国际格式。插件中有几个函数可以剥离字符串并重新格式化需要从另一个jQuery脚本调用的字符串。
根据下面的插件结构(让我知道您是否需要整个代码)我可以调用参数并将参数发送到stripFormat(ii)
和targetFormat(ii, iv)
函数吗?
或者我是否需要更改插件结构,如果是这样的话?
(function($){
var p = $.extend({
aNum: '0123456789',
aNeg: '-',
aSep: ',',
aDec: '.',
aInput: '',
cPos: 0
});
$.fn.extend({
AutoFormat: function() {
return this.each(function() {
$(this).keypress(function (e){
code here;
});
$(this).keyup(function (e){
code here;
});
// Would like to call this function from another jQuery script - see below.
function stripFormat(ii){
code here;
}
// Would like to call this function from another jQuery script - see below.
function targetFormat(ii, iv){
code here;
}
});
}
});
})(jQuery);
尝试调用插件函数的方法:
jQuery(function(){
$("input").change(function (){ //temp function to demonstrate the stripFormat() function.
document.getElementById(targetElementid).value = targetFormat(targetElementid, targetValue);
});
});
我试图使用这些变体但没有成功:
document.getElementById(targetElementid).value = $.targetFormat(targetElementid, targetValue);
document.getElementById(targetElementid).value = $.autoFormat().targetFormat(targetElementid, targetValue);
答案 0 :(得分:-1)
好吧,我可能更喜欢这个插件:http://www.stilldesigning.com/dotstring/jquery.string.1.0.js
$.string(" <p>this is a test</p> ").strip().stripTags().capitalize().str
> 'This is a test'
或者看看货币格式,获取值和选项对象。这似乎只适用于其他格式的情况。 http://plugins.jquery.com/project/currencyFormat
$('#some_element').currency() //will format the text of the element
$.currency(123456.78,{options}) //formats number and returns string
另外,对于使用document.getElementById("targetElement").value
而不仅仅是$("targetElement").val()
或$("targetElement").html()