目前我正在使用iMask脚本来帮助对我的利率输入进行屏蔽和健全性检查。当在页面上同时加载所有输入时,它工作得很好。但是,当我使用ajax调用动态添加新输入时,iMask脚本不会监视这些输入。
我加载了这个输入:
<input type="text" id="interestRate" size="25" class="numeric" name="interestRate" value=""/>
并使用底部的代码加载iMask:
<script type="text/javascript">
jQuery('.numeric').iMask({
type: 'number'
,sanity : function( val ){
if(val.length > 5){
return val.substr(0,5);
}else{
return val;
}
}
});
这很好用。但是,如果我使用ajax附加一行新数据,并为interestRate添加额外的输入,那么这些新输入将不会被iMask屏蔽。
我想知道无论如何我可以让ajax返回的html与iMask函数一起'分配'。
Thanx
答案 0 :(得分:0)
我相信你必须在使用Ajax插入的所有新元素上调用iMask函数。小心不要为已经iMasked的元素调用它,不确定iMask是否可以优雅地处理它。
我就是这样做的:
var alreadyIMasked = $('.numeric'); // save already iMasked elements before an ajax call
$.ajax({
url: '...',
success: function( data ) {
$(".some_list").append(data); // append your new elements to the list
$('.numeric').not(alreadyIMasked).iMask({.....});
}
});