我正在使用Split函数获取选定的选项值并按每个管道分隔符进行拆分。
爆炸[2]的值在输出时正确显示为10.00,但财务功能没有返回值,我的div没有更新新文本。
如果我将爆炸[2]交换到函数中的文字10.00,如下所示:
finance(exploded[0], exploded[1], 10.00, exploded[3]);
它有效。同样,如果我像这样制作爆炸[2] = 10.00:
var test = 10.00;
finance(exploded[0], exploded[1], test, exploded[3]);
它也有效。我做过蠢事吗?
Javascript
<script type="text/javascript">
$(document).ready(function() {
$('#finance').change(function() {
selected_value = $('#finance').val();
exploded = selected_value.split('|');
finance(exploded[0], exploded[1], exploded[2], exploded[3]);
});
function finance(code, order_cost, depost_pc, deposit_val) {
my_fd_obj = new FinanceDetails(code, order_cost, depost_pc, deposit_val);
$('#finance_per_month').html(my_fd_obj.m_inst);
}
});
</script>
HTML
<select name='finance' id='finance'>
<option value="ONIF10|399.00|10.00|39.90">10 Months 0% Finance</option>
<option value="ONIF18|399.00|10.00|39.90">18 Months 0% Finance</option>
<option value="ONIF24|399.00|10.00|39.90">24 Months 0% Finance</option>
<option value="ISIB36-3.9|399.00|10.00|39.90">36 Months 3.9% Finance</option>
</select>
答案 0 :(得分:1)
在不了解FinanceDetails
的情况下无法确定,但exploded[2]
和10.00
之间的区别在于前者是字符串({{ 1}},而不是"10.00"
)。在99%的情况下,代码会隐式地将字符串强制转换为数字,但又不知道10.00
中的内容......
FinanceDetails
可能会解决问题。或者只是parseFloat(exploded[2])
。
我希望你也需要为其他args这样做,如果它们也是数字。