Javascript 总价格不变,我希望在改变数字的同时看到总价格的变化?
我正在写一份可视化的价格表。在此价目表中,用户可以选择其项目功能、样式和渲染样式(照片逼真/概念性/制作),同时在列表底部查看项目的总价。我不明白为什么代码不计算价格Javascript 总价格不变,我希望在改变数字的同时看到总价格的变化?,javascript,list,price,calculation,Javascript,List,Price,Calculation,我正在写一份可视化的价格表。在此价目表中,用户可以选择其项目功能、样式和渲染样式(照片逼真/概念性/制作),同时在列表底部查看项目的总价。我不明白为什么代码不计算价格 <html> <div id="RenderingTab" class="panel panel-default" > <div class="panel-heading"> <h4 class="panel-title"><a data-toggl
<html>
<div id="RenderingTab" class="panel panel-default" >
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-
parent="#accordion1" href="#collapseTwo1">Render</a></h4>
</div>
<div id="collapseTwo1" class="panel-collapse collapse">
<form>
<div class="panel-body">Project style :<br>
<br>
<div class="col-lg-6" data-toggle="buttons">
<select id="prjstrndr" class="panel-title"
onchange="RndrPrcCalc(this);">
<option class="input-group-addon" value="1.3" id="rndr-mdrn"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="options" >
Modern </option>
<option class="input-group-addon" value="1" id="rndr-cls"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="options" >
Classic </option>
<option class="input-group-addon" value="1.8" id="rndr-trd"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="options" >
Traditional </option>
<option class="input-group-addon" value="0.9" id="rndr-param"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="options" >
Parametric </option>
<option class="input-group-addon" value="1.1" id="rndr-org"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="options" >
Organic </option>
</select>
</div>
</div>
</form>
<form>
<div class="panel-body">Project Function :<br>
<br>
<div class="col-lg-6" data-toggle="buttons">
<select id="prjfnrndr" class="panel-title"
onchange="RndrPrcCalc(this);">
<option class="input-group-addon" value="1.2" id="rndr-vll"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="style">
Villa </option>
<option class="input-group-addon" value="1" id="rndr-
apprtmnt" onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="style" >
Appartment </option>
<option class="input-group-addon" value="1.35" id="rndr-
cmmrcl" onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="style" >
Commercial </option>
<option class="input-group-addon" value="1.3" id="rndr-offcl"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="style" >
Official </option>
<option class="input-group-addon" value="1.25" id="rndr-othr"
onchange="RndrPrcCalc(this); RndrIntPrc(this);" name="style" >
Other </option>
</select>
</div>
</div>
</form>
<br>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data-
parent="#accordion3" href="#collapseTwo3"> Interior Rendering</a></h4>
</div>
<div id="collapseTwo3" class="panel-collapse collapse">
<div class="panel-body">
<br>
<div id="rndr-lobbyParam" >
<div class="input-group input-group-sm"><span
class="input-group-addon paramtitle">Lobby wall area </span>
<input type="number" min="0" step="0.01" id="rndr-int-
wall-area-lobby" class="form-control" onchange="RndrIntPrc();"
placeholder=" 0.00 sqm " required="required">
</div>
<br>
<div class="input-group input-group-sm"><span
class="input-group-addon paramtitle">Photo Realistic </span>
<div class="row">
<div class="col-lg-6">
<div class="input-group"><span class="input-group-
addon">Day</span>
<input type="number" min="0" id="rndr-int-real-
day-lobby" class="form-control" placeholder="0 Num"
onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group"><span class="input-group-
addon"> Night</span>
<input type="number" min="0" id="rndr-int-real-
nght-lobby" class="form-control" placeholder="0 Num"
onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
</div>
</div>
<div class="input-group input-group-sm"><span
class="input-group-addon paramtitle">Conceptual</span>
<div class="row">
<div class="col-lg-6">
<div class="input-group"><span class="input-group-
addon">Day</span>
<input type="number" min="0" id="rndr-int-conc-
day-lobby" class="form-control" placeholder="0 Num"
onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group"><span class="input-group-
addon"> Night</span>
<input type="number" min="0" id="rndr-int-conc-
nght-lobby" class="form-control" placeholder="0 Num"
onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
</div>
</div>
<div class="input-group input-group-sm"><span
class="input-group-addon paramtitle">Maket</span>
<div class="row">
<div class="col-lg-6">
<div class="input-group"><span class="input-group-
addon">Day</span>
<input type="number" min="0" id="rndr-int-mak-
day-lobby" class="form-control" placeholder="0 Num" onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group"><span class="input-group-
addon" disabled="disabled"> Night</span>
<input type="number" min="0" id="rndr-int-mak-
nght-lobby" class="form-control" placeholder="0 Num" disabled="disabled">
</div>
<br>
<label class="fa">Interior rendering Total price </label>
<input type="text" class="form-control" id="render-int-price"
placeholder= "0" readonly></input>
</html>
<script>
document.getElementById("prjstrndr").onchange = function()
{RndrIntPrc();};
document.getElementById("prjfnrndr").onchange = function()
{RndrIntPrc();};
document.getElementById("rndr-lobby").onchange = function()
{RndrIntPrc();};
document.getElementById("rndr-int-wall-area-lobby").onchange =
function() {RndrIntPrc();};
document.getElementById("rndr-int-real-day-lobby").onchange = function()
{RndrIntPrc();};
document.getElementById("rndr-int-real-nght-lobby").onchange =
function() {RndrIntPrc();};
document.getElementById("rndr-int-conc-day-lobby").onchange = function()
{RndrIntPrc();};
document.getElementById("rndr-int-conc-nght-lobby").onchange =
function()
{RndrIntPrc();};
document.getElementById("rndr-int-mak-day-lobby").onchange = function()
{RndrIntPrc();};
//interior render cost calculation:
var
RIRDL = document.getElementById("rndr-int-real-day-lobby"),
RIRNL = document.getElementById("rndr-int-real-nght-lobby"),
RICDL = document.getElementById("rndr-int-conc-day-lobby"),
RICNL = document.getElementById("rndr-int-conc-nght-lobby"),
RIMDL = document.getElementById("rndr-int-mak-day-lobby"),
Totalintrndr = 0;
document.getElementById('render-int-price').value = Totalintrndr;
var RndrIntPrc = function() {
var projectStylerndr = document.getElementById('prjstrndr').value,
projectFunctionrndr = document.getElementById('prjfnrndr').value,
RIWAL = document.getElementById("rndr-int-wall-area-lobby").value,
RIRDLNum = RIRDL.value,
RIRNLNum = RIRNL.value,
RICDLNum = RICDL.value,
RICNLNum = RICNL.value,
RIMDLNum = RIMDL.value,
XRL = 50000,
XCL = 25000,
XML = 10000,
var intNumD = [];
[RIRDLNum,RICDLNum,RIMDLNum].forEach(function(n, i) {
intNumD[i] = (n >= 2 && n < 5) ? n * 0.9 : n == 0 ? 0 : n == 1 ? 1 : n - 1;
});
var intNumN = [];
[RIRNLNum,RICNLNum].forEach(function(n, i) {
intNumN[i] = (n >= 2 && n < 5) ? n * 0.95 : n == 0 ? 0 : n == 1 ? 1.2 : n == 2 ? 1.9 : n - 1;
});
var Totalintrndr = projectStylerndr * projectFunctionrndr *
(Math.log(RIWAL)*((XRL)*(intNumD[0] + intNumN[0]) + (XCL)*(intNumD[1]
+ intNumN[1]) + (XML)*intNumD[2]) );
document.getElementById('render-int-price').value =
(Totalintrndr>0 && Totalintrndr!=='NaN')?Totalintrndr:0;
};
</script>
项目风格:
现代的
经典
传统的
参数化
有机的
项目职能:
别墅
公寓
商业的
官方的
其他
大堂墙面积
写实
白天
夜
概念的
白天
夜
市场
白天
夜
室内装修总价
document.getElementById(“prjstrndr”).onchange=function()
{RndrIntPrc();};
document.getElementById(“prjfnrndr”).onchange=function()
{RndrIntPrc();};
document.getElementById(“rndr大厅”).onchange=function()
{RndrIntPrc();};
document.getElementById(“rndr内部墙区大厅”)。onchange=
函数(){rndrintpc();};
document.getElementById(“rndr int real day lobby”).onchange=function()
{RndrIntPrc();};
document.getElementById(“rndr int real nght Lobble”).onchange=
函数(){rndrintpc();};
document.getElementById(“rndr int conc day lobble”).onchange=function()
{RndrIntPrc();};
document.getElementById(“rndr int conc nght大厅”).onchange=
函数()
{RndrIntPrc();};
document.getElementById(“rndr int mak day Lobble”).onchange=function()
{RndrIntPrc();};
//内部渲染成本计算:
变量
RIRDL=document.getElementById(“rndr int real day lobby”),
RIRNL=document.getElementById(“rndr int real nght lobby”),
RICDL=document.getElementById(“rndr int conc day大厅”),
RICNL=document.getElementById(“rndr int conc nght大厅”),
RIMDL=document.getElementById(“rndr int mak day大厅”),
Totalintrndr=0;
document.getElementById('render-int-price')。value=Totalintrndr;
var rndrintpc=函数(){
var projectStylerndr=document.getElementById('prjstrndr')。值,
projectFunctionrndr=document.getElementById('prjfnrndr')。值,
RIWAL=document.getElementById(“rndr int wall area LOBOY”).value,
RIRDLNum=RIRDL.值,
RIRNLNum=RIRNL.值,
RICDLNum=RICDL.value,
RICNLNum=RICNL.value,
RIMDLNum=RIMDL.value,
XRL=50000,
XCL=25000,
XML=10000,
var intNumD=[];
[RIRDLNum,RICDLNum,RIMDLNum].forEach(函数(n,i){
intNumD[i]=(n>=2&&n<5)?n*0.9:n==0?0:n==1?1:n-1;
});
var intNumN=[];
[RIRNLNum,RICNLNum].forEach(函数(n,i){
intNumN[i]=(n>=2&&n<5)?n*0.95:n==0?0:n==1?1.2:n==2?1.9:n-1;
});
var Totalintrndr=projectStylerndr*项目功能rNDR*
(数学日志(RIWAL)*((XRL)*(intNumD[0]+intNumN[0])+(XCL)*(intNumD[1]
+intNumN[1])+(XML)*intNumD[2]);
document.getElementById('render-int-price')。值=
(Totalintrndr>0&&Totalintrndr!=='NaN')?Totalintrndr:0;
};
修复所有打字错误后,你必须阅读一些JS手册,而不是学习一些数学课程。
现在认真地说:
项目风格:
现代的
经典
传统的
参数化
有机的
项目职能:
别墅
公寓
商业的
<html>
<div id="RenderingTab" class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a data-toggle="collapse" data- parent="#accordion1" href="#collapseTwo1">Render</a></h4>
</div>
<div id="collapseTwo1" class="panel-collapse collapse">
<form>
<div class="panel-body">Project style :<br>
<br>
<div class="col-lg-6" data-toggle="buttons">
<select id="prjstrndr" class="panel-title" onchange="RndrIntPrc(this);">
<option class="input-group-addon" value="1.3" > Modern </option>
<option class="input-group-addon" value="1" > Classic </option>
<option class="input-group-addon" value="1.8" > Traditional </option>
<option class="input-group-addon" value="0.9" > Parametric </option>
<option class="input-group-addon" value="1.1" > Organic </option>
</select>
</div>
</div>
</form>
<form>
<div class="panel-body">Project Function :<br>
<br>
<div class="col-lg-6" data-toggle="buttons">
<select id="prjfnrndr" class="panel-title" onchange="RndrPrcCalc(this);">
<option class="input-group-addon" value="1.2" >Villa </option>
<option class="input-group-addon" value="1" >Appartment </option>
<option class="input-group-addon" value="1.35" >Commercial </option>
<option class="input-group-addon" value="1.3" > Official </option>
<option class="input-group-addon" value="1.25" >Other </option>
</select>
</div>
</div>
</form>
<br>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data- parent="#accordion3" href="#collapseTwo3"> Interior Rendering</a></h4>
</div>
<div id="collapseTwo3" class="panel-collapse collapse">
<div class="panel-body">
<br>
<div id="rndr-lobby">
<div class="input-group input-group-sm"><span class="input-group-addon paramtitle">Lobby wall area </span>
<input type="number" value=10 min="0" step="0.01" id="rndr-int-wall-area-lobby" class="form-control" onchange="RndrIntPrc();" placeholder=" 0.00 sqm " required="required">
</div>
<br>
<div class="input-group input-group-sm"><span class="input-group-addon paramtitle">Photo Realistic </span>
<div class="row">
<div class="col-lg-6">
<div class="input-group"><span class="input-group-addon">Day</span>
<input type="number" value="1" min="0" id="rndr-int-real-day-lobby" class="form-control" placeholder="0 Num" onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group"><span class="input-group-addon"> Night</span>
<input type="number" min="0" id="rndr-int-real-nght-lobby" class="form-control" placeholder="0 Num" onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
</div>
</div>
<div class="input-group input-group-sm"><span class="input-group-addon paramtitle">Conceptual</span>
<div class="row">
<div class="col-lg-6">
<div class="input-group"><span class="input-group-addon">Day</span>
<input type="number" min="0" id="rndr-int-conc-day-lobby" class="form-control" placeholder="0 Num" onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group"><span class="input-group-addon"> Night</span>
<input type="number" min="0" id="rndr-int-conc-nght-lobby" class="form-control" placeholder="0 Num" onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
</div>
</div>
<div class="input-group input-group-sm"><span class="input-group-addon paramtitle">Maket</span>
<div class="row">
<div class="col-lg-6">
<div class="input-group"><span class="input-group-addon">Day</span>
<input type="number" min="0" id="rndr-int-mak-day-lobby" class="form-control" placeholder="0 Num" onchange="RndrIntPrc();">
</div>
<!-- /input-group -->
</div>
<!-- /.col-lg-6 -->
<div class="col-lg-6">
<div class="input-group"><span class="input-group-addon" disabled="disabled"> Night</span>
<input type="number" min="0" id="rndr-int-mak-nght-lobby" class="form-control" placeholder="0 Num" disabled="disabled">
</div>
<br>
<label class="fa">Interior rendering Total price </label>
<input type="text" class="form-control" id="render-int-price" placeholder="0" readonly></input>
</html>
<script>
document.getElementById("prjstrndr").onchange = function () { RndrIntPrc(); };
document.getElementById("prjfnrndr").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-lobby").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-int-wall-area-lobby").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-int-real-day-lobby").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-int-real-nght-lobby").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-int-conc-day-lobby").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-int-conc-nght-lobby").onchange = function () { RndrIntPrc(); };
document.getElementById("rndr-int-mak-day-lobby").onchange = function () { RndrIntPrc(); };
//interior render cost calculation:
var
RIRDL = document.getElementById("rndr-int-real-day-lobby"),
RIRNL = document.getElementById("rndr-int-real-nght-lobby"),
RICDL = document.getElementById("rndr-int-conc-day-lobby"),
RICNL = document.getElementById("rndr-int-conc-nght-lobby"),
RIMDL = document.getElementById("rndr-int-mak-day-lobby"),
Totalintrndr = 0;
document.getElementById('render-int-price').value = Totalintrndr;
var RndrIntPrc = function () {
console.log('1');
var projectStylerndr = document.getElementById('prjstrndr').value,
projectFunctionrndr = document.getElementById('prjfnrndr').value,
RIWAL = document.getElementById("rndr-int-wall-area-lobby").value,
RIRDLNum = RIRDL.value,
RIRNLNum = RIRNL.value,
RICDLNum = RICDL.value,
RICNLNum = RICNL.value,
RIMDLNum = RIMDL.value,
XRL = 50000,
XCL = 25000,
XML = 10000;
var intNumD = [];
[RIRDLNum, RICDLNum, RIMDLNum].forEach(function (n, i) {
intNumD[i] = (n >= 2 && n < 5) ? n * 0.9 : n == 0 ? 0 : n == 1 ? 1 : n - 1;
});
var intNumN = [];
[RIRNLNum, RICNLNum].forEach(function (n, i) {
intNumN[i] = (n >= 2 && n < 5) ? n * 0.95 : n == 0 ? 0 : n == 1 ? 1.2 : n == 2 ? 1.9 : n - 1;
});
var Totalintrndr = projectStylerndr * projectFunctionrndr *
(Math.log(RIWAL) * ((XRL) * (intNumD[0] + intNumN[0]) + (XCL) * (intNumD[1]
+ intNumN[1]) + (XML) * intNumD[2]));
document.getElementById('render-int-price').value =
(Totalintrndr > 0 && Totalintrndr !== 'NaN') ? Totalintrndr : 0;
};
RndrIntPrc();
</script>