0
我需要在輸入文本字段中更改貨幣的前綴。所以貨幣前綴會根據收音機而改變。當單擊收音機但不能更改前綴時,可以重置輸入字段。更改廣播選擇中的前綴貨幣符號
這裏是我的代碼:
Price (
<label>
<input type="radio" name="prop_crnt" class="currency" value="0" id="crnt-thb" required> THB</label>
<label>
<input type="radio" name="prop_crnt" class="currency" value="1" id="crnt-usd"> USD</label>):
的Javascript:
//reset input on radio clicked
$("input[name='prop_crnt']").on('click', function() {
$('input.money').val('');
//change currency prefix
if ($('#crnt-thb').val()=="0") {
var crncy="฿";
}else{
var crncy="$";
}
});
var format = function(num) {
var str = num.toString().replace(crncy, ""),
parts = false,
output = [],
i = 1,
formatted = null;
if (str.indexOf(".") > 0) {
parts = str.split(".");
str = parts[0];
}
str = str.split("").reverse();
for (var j = 0, len = str.length; j < len; j++) {
if (str[j] != ",") {
output.push(str[j]);
if (i % 3 == 0 && j < (len - 1)) {
output.push(",");
}
i++;
}
}
formatted = output.reverse().join("");
return (crncy + formatted + ((parts) ? "." + parts[1].substr(0, 2) : ""));
};
//currency
$(".money").keyup(function(e) {
$(this).val(format($(this).val()));
});
這裏是jfiddle:https://jsfiddle.net/u0rc9trh/2/
'crncy'沒有在格式函數中定義。也許你的意思是讓它成爲一個全球性的? – mkaatman
如果($('#crnt-thb').val()==「0」)'總是成立,這種情況不會出現嗎?你需要測試這個單選按鈕是否被選中,而不是它的價值。或者使用'this'測試點擊收音機的值。 – nnnnnn
^^^^還有一個問題。檢查[Demo](https://jsfiddle.net/tusharj/u0rc9trh/3/) – Tushar