2012-01-19 32 views
1

當前我正在使用iMask腳本幫助對我的輸入利率執行屏蔽和完整性檢查。當所有輸入都在頁面上同時加載時,它效果很好。但是,當我使用ajax調用動態添加新輸入時,這些輸入不受iMask腳本監控。jQuery在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函數「分配」。

感謝名單

回答

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({.....}); 
    } 
});