我有以下代码。
<select id="cage_options">
<option>Please select</option>
<option value="2,63330">option1</option>
<option value="3,13300">option2</option>
<option value="4,2000.00">option3</option>
</select>
<input id="cage_labor_estimate" disabled>
<script>
function format(n) {
return n.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");
}
document.getElementById("cage_options").addEventListener("change", cageOptionFunction);
function cageOptionFunction() {
select=document.getElementById('cage_options').value.split(',');
cage_option = select[1];
document.getElementById("cage_labor_estimate").value = format(cage_option);
}
</script>
我正在尝试以当前格式格式化禁用输入框中的输出,但会收到以下错误:
TypeError:n.toFixed不是函数。 (在&#39; n.toFixed(2)&#39;中, &#39; n.toFixed&#39;未定义)
有人可以帮忙吗?
谢谢,
约翰
答案 0 :(得分:3)
你有一个字符串,一个字符串没有.toFixed()。所以需要将该字符串转换为数字。
cage_option = Number(select[1]);
或
cage_option = parseFloat(select[1]);