Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一旦用户输入了金额,该金额应乘以;s2“;_Javascript_Html - Fatal编程技术网

Javascript 一旦用户输入了金额,该金额应乘以;s2“;

Javascript 一旦用户输入了金额,该金额应乘以;s2“;,javascript,html,Javascript,Html,//用户输入金额后,calculate(计算)按钮将其重定向到函数,并假设有答案。我把前两个选项都选对了,但它似乎被卡住了。s1和s2工作正常,但其余编号s1显示主选项,s2显示子选项: <!DOCTYPE html> <html> <head> <script type="text/javascript"> function populate(s1,s2)

//用户输入金额后,calculate(计算)按钮将其重定向到函数,并假设有答案。我把前两个选项都选对了,但它似乎被卡住了。s1和s2工作正常,但其余编号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这样的视频来展示/帮助如何发帖一个合适的问题,因为这对我的帮助远大于文字?我插入了一个名为“总量”的标签来获得答案。我已经在我的主函数下插入了您所说的函数,但仍然无法在“总数”中得到结果。