Javascript 一旦用户输入了金额,该金额应乘以;s2“;
//用户输入金额后,calculate(计算)按钮将其重定向到函数,并假设有答案。我把前两个选项都选对了,但它似乎被卡住了。s1和s2工作正常,但其余编号s1显示主选项,s2显示子选项:Javascript 一旦用户输入了金额,该金额应乘以;s2“;,javascript,html,Javascript,Html,//用户输入金额后,calculate(计算)按钮将其重定向到函数,并假设有答案。我把前两个选项都选对了,但它似乎被卡住了。s1和s2工作正常,但其余编号s1显示主选项,s2显示子选项: <!DOCTYPE html> <html> <head> <script type="text/javascript"> function populate(s1,s2)
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function populate(s1,s2)
{
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "Chevy")
{
var optionArray = ["|","1000|Camaro","2000|Corvette","3000|Impala"];//The | means a blank space, camaro is the label, Camaro is the value, ex. value 1000 and corvette is the label
}
else if(s1.value == "Dodge")
{
var optionArray = ["|","4000|Avanger","5000|Challengere","6000|Charger"];
}
else if(s1.value == "Ford")
{
var optionArray = ["|","7000|Mustang","8000|Shelby"];
}
for(var option in optionArray)//the options within the optionArray
{
var pair = optionArray[option].split("|");//in tha variable pair is stored both value and label
var newOption = document.createElement("option");// option in the bracket is used to create new options or you can insert divs paragraph etc
newOption.value = pair[0];//pair 0 gives the value
newOption.innerHTML = pair[1];//pair 1 gives the label
s2.options.add(newOption);
}
}
function calculateTotal() {
var model = document.getElementById("slct2");
var modelValue = model.options[model.selectedIndex].value;
var amount = document.querySelector('input[name="amount"]').value;
return modelValue * amount;
}
</script>
</head>
<body>
<h2>Choose Your Car</h2>
<hr>
Choose Car Make:
<select id="slct1" name="slct1" onchange="populate('slct1','slct2')">
<option value=""></option>
<option value="Chevy">Chevy</option>
<option value="Dodge">Dodge</option>
<option value="Ford">Ford</option>
</select>
<hr>
Choose Car Model:
<select id="slct2" name="slct2">
</select>
<label>Amount<input type="numbers" name="amount" size="1"/></label>
<input type="reset" name="Reset" value="Reset"/>
<input type="button" name="Calculate" value="Calculate" id="Calculate" onclick="populate(s1,s2)">
<label>Total amount<input type="numbers" name="answer" size="10"/></label>
</body>
</html>
函数填充(s1、s2)
{
var s1=document.getElementById(s1);
var s2=document.getElementById(s2);
s2.innerHTML=“”;
如果(s1.value==“雪佛兰”)
{
var optionArray=[“|”、“1000 | Camaro”、“2000 | Corvette”、“3000 | Impala”];//表示空白,Camaro是标签,Camaro是值,例如值1000,Corvette是标签
}
否则如果(s1.value==“道奇”)
{
var optionArray=[“|”、“4000 | Avanger”、“5000 | Challengere”、“6000 | Charger”];
}
否则如果(s1.value==“福特”)
{
var optionArray=[“|”、“7000 |野马”、“8000 |谢尔比”];
}
for(optionArray中的var选项)//optionArray中的选项
{
var pair=optionArray[option].split(“|”);//在变量对中存储值和标签
var newOption=document.createElement(“option”);//括号中的选项用于创建新选项,也可以插入divs段落等
newOption.value=对[0];//对0给出值
newOption.innerHTML=对[1];//对1给出标签
s2.选项。添加(新选项);
}
}
函数计算器总计(){
var模型=document.getElementById(“slct2”);
var modelValue=model.options[model.selectedIndex].value;
var amount=document.querySelector('input[name=“amount”]”)。值;
返回模型值*金额;
}
选择你的车
选择汽车品牌:
雪佛兰
闪避
河流浅水处
选择车型:
数量
总额
//我已经按照您的说明插入了函数calculateTotal,但仍然无法得到结果。我添加了一个框,其中的结果可以显示为标记为“总量”尝试以下操作:
function calculateTotal() {
var model = document.getElementById("slct2");
var modelValue = model.options[model.selectedIndex].value;
var amount = document.querySelector('input[name="amount"]').value;
return modelValue * amount;
}
我不确定您希望将此函数的输出放在何处或何时触发它,但希望它能为您指明正确的方向。当您提出问题时,文本区域右侧有一个大橙色的“如何格式化”框,其中包含有用的信息。还有一个完整的格式化工具条。还有一个[?]按钮提供格式化帮助。还有一个预览区,位于文本区和“发布你的问题”按钮之间(这样你就必须扫描过去才能找到按钮),显示你的帖子发布时的样子。让你的帖子清晰明了,并证明你花了时间这样做,提高了你获得好答案的机会。jcubic已经为你解决了这个问题,但请记下下次。谢谢我的朋友,但我是这个网站的新手。更需要注意网站为你提供的各种帮助,发帖时要特别小心。有没有像you tube这样的视频来展示/帮助如何发帖一个合适的问题,因为这对我的帮助远大于文字?我插入了一个名为“总量”的标签来获得答案。我已经在我的主函数下插入了您所说的函数,但仍然无法在“总数”中得到结果。