我想數字格式的文本字段,如下所示:數字格式(輸入掩碼)jQuery中
123,456,789
我知道有很多jQuery插件做到這一點,但是,他們都改變了實際價值。我只是想讓它看起來格式化,而不是格式化發送。
例如,如果我在我的文本字段中輸入23845
,我希望它在視覺上轉換爲23,845
,但是當我發送表單時,我希望它發送爲23845
。
有誰知道我該如何做到這一點?我見過的所有其他解決方案都會改變實際提交的值。
我想數字格式的文本字段,如下所示:數字格式(輸入掩碼)jQuery中
123,456,789
我知道有很多jQuery插件做到這一點,但是,他們都改變了實際價值。我只是想讓它看起來格式化,而不是格式化發送。
例如,如果我在我的文本字段中輸入23845
,我希望它在視覺上轉換爲23,845
,但是當我發送表單時,我希望它發送爲23845
。
有誰知道我該如何做到這一點?我見過的所有其他解決方案都會改變實際提交的值。
據我所知,面具插件不改變值而只顯示:http://plugins.jquery.com/plugin-tags/mask
[編輯]所有插件的列表中,我用這個一個在我的代碼:https://github.com/RobinHerbots/jquery.inputmask([編輯2 ]
並按你想要的方式工作
我已經檢查了我使用它的代碼,默認行爲是它發送的掩碼和的值,你需要使用一個選項來取消掩碼,正如我在評論中所說的)
請嘗試以下操作:
<script type="text/javascript">
$(document).on('keyup', '.test', function() {
var x = $(this).val();
$(this).val(x.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
});
</script>
<form>
<input class="test" type="text" />
</form>
最後得到它的工作,但它有發送掩碼值與表單提交的問題。也許我失去了一些東西...... =( – Ryan
它取決於你選擇的輸入掩碼插件。有些人可以選擇揭露(但與我所說的相反 - 對不起 - 它似乎不是默認的行爲)。看看'unmask'解決方案在這裏:https://github.com/RobinHerbots/jquery.inputmask/issues/8 – JMax
感謝您的幫助!我已經決定inputmask不完全是我想要的(不喜歡如何它有佔位符和固定的字符,我不知道如何將它們取出),但是你已經指出我正確的方向,我最終找到了MeioMask。很好,我用.submit( )event。 http://www.meiocodigo.com/projects/meiomask/ – Ryan