0
任何帮助将不胜感激。我使用带小数点的onChange命令添加JavaScript字段,但是当onChange命令移回选项“NO”删除数字时(例如1.7),它只会删除1.69999而不是1.7。用JavaScript添加和减法“onchange”
下面是我使用的onChange代码。
<div id="onewindow">
<label for="txtoneside" class="editor-label"><strong>1 Side </strong></label>
<div align="right">
<input type = "text" name = "txtoneside" id="txtoneside" value = "1.7" />
<select name="txtoneside_slider" id="txtoneside_slider" data-role="slider" data-mini="true" onChange="javascript: if(this.value=='yes'){ document.getElementById('txtgrandtotal').value= parseFloat(document.getElementById('txtgrandtotal').value) + parseFloat(document.getElementById('txtoneside').value); calculate()}
if(this.value=='no'){ document.getElementById('txtgrandtotal').value= parseFloat(document.getElementById('txtgrandtotal').value) - parseFloat(document.getElementById('txtoneside').value); calculate()}"/>
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div>
<div id="twowindow">
<label for="txtoneside" class="editor-label"><strong>2 Side </strong></label>
<div align="right">
<input type = "text" name = "txttwoside" id="txttwoside" value = "19.3" />
<select name="txttwoside_slider" id="txttwoside_slider" data-role="slider" data-mini="true" onChange="javascript: if(this.value=='yes'){ document.getElementById('txtgrandtotal').value= parseFloat(document.getElementById('txtgrandtotal').value) + parseFloat(document.getElementById('txttwoside').value); calculate()}
if(this.value=='no'){ document.getElementById('txtgrandtotal').value= parseFloat(document.getElementById('txtgrandtotal').value) - parseFloat(document.getElementById('txttwoside').value); calculate()}" />
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div>
<div id="grandtotal">
<label for="txtgrandtotal" class="editor-label"><strong>JOB TOTAL</strong></label>
<div align="right">
<input type = "text" name = "txtgrandtotal" id="txtgrandtotal" value = "0" />
</div>
</div>
谢谢Nolo。还有一个问题,如果我想改变这些值呢?示例将1.7更改为value =“”,并将value =“19.3”更改为value =“”当我这样做时,转到页面并放入一个值以添加我得到的NaN。你能帮我解决吗? – Adder 2013-03-26 13:29:11
@Adder:小心如何从页面中提取值 - 当value =“”时,parseInt(“”)是(未定义),这可能是NaN来自的地方。尝试在使用数值时使用“0”,或在执行转换之前检查。 – Nolo 2013-03-26 20:16:09