我使用數字格式(wNumb)作爲文本字段。它由範圍滑塊(noUislider)更新,並且工作正常。使用Javascript數字格式時提交初始值
我遇到的問題是,當我提交表單,保存的值由1000分(可能是由於千位分隔符)。
如何在提交時擺脫wNumb格式?
...
<%= f.text_field :salary, id: "how-much" %>
<div id="slider-format"></div>
<div class="field">
<%= f.label :comment %><br>
<%= f.text_area :comment %>
</div>
<div class="actions">
<%= f.submit %>
</div>
然後下面的腳本:
<script>
var sliderFormat = document.getElementById('slider-format');
noUiSlider.create(sliderFormat, {
start: [ 200000 ],
step: 1000,
connect: 'upper',
range: {
'min': [ 10000 ],
'max': [ 250000 ],
},
format: wNumb({
decimals: 0,
thousand: '.',
postfix: ' (US $)',
})
});
var inputValue = document.getElementById('how-much');
sliderFormat.noUiSlider.on('update', function(values, handle) {
inputValue.value = values[handle];
});
inputValue.addEventListener('change', function(){
sliderFormat.noUiSlider.set(this.value);
});
</script>
上http://refreshless.com/wnumb/的指令下...我不知道如何使用,如果這是我應該用什麼。
Usage
var moneyFormat = wNumb({
mark: '.',
thousand: ',',
prefix: '$ ',
postfix: ' p.p.'
});
// Format a number:
moneyFormat.to(301980.62);
=> '$ 301,980.62 p.p.'
// Get a number back:
moneyFormat.from('$ 301,980.62 p.p.');
=> 301980.62
澄清疑慮 - 你想提交vaue作爲'301980.62'而不是'$ 301,980.62 p.p.'嗎?或者如果你的格式化器不能正常工作? – Bhumika107
我想用戶設置301980,這將顯示爲$ 301.980,但是當點擊表單的提交按鈕時,再次獲得301980。目前,我在數據庫中獲得301 ... 最後一塊代碼不是來自我的,而是來自文檔,我不知道如何在代碼中使用它。 – Sbe88