简体   繁体   English

如果 <select>选项= 1,然后runaFunct否则runaFifferentFunct?怎么样?

[英]If <select> option = 1 then runaFunct else runaFifferentFunct? How?

I'm a beginner here but I've made two functions that need to be dependent on a option. 我是这里的初学者,但是我做了两个需要依赖选项的功能。 If the user selects "Wood" then it should run the WoodFunct. 如果用户选择“ Wood”,则应运行WoodFunct。 If they select "Dirt" then it should run that function. 如果他们选择“污垢”,则应运行该功能。 This should all be ran when the user clicks the submit button. 当用户单击提交按钮时,应该全部运行。 I know I'm pretty close but I just cant seem to get it. 我知道我已经很近了,但是我似乎无法理解。 Here's my code: 这是我的代码:

 function WoodFunct() { var areaLength = document.getElementById("textbox1").value; var areaWidth = document.getElementById("textbox2").value; var areaDepth = document.getElementById("textbox3").value; var answer =(parseFloat(areaLength)*parseFloat(areaWidth)*parseFloat(areaDepth))*27; var textbox4 = document.getElementById('textbox4'); textbox4.value=answer; } function DirtFunct() { var areaLength = document.getElementById("textbox1").value; var areaWidth = document.getElementById("textbox2").value; var areaDepth = document.getElementById("textbox3").value; var answer =(parseFloat(areaLength)*parseFloat(areaWidth)*parseFloat(areaDepth))*1.5; var textbox4 = document.getElementById('textbox4'); textbox4.value=answer; } 
 L: <input type="text" name="textbox1" id="textbox1" /><br> W: <input type="text" name="textbox2" id="textbox2" /> <br> D: <input type="text" name="textbox3" id="textbox3" /> <br> Product: <select> <option value='1' id="WoodProduct">Wood</option> <option value='2' id="DirtProduct">Dirt</option> </select><br> <input type="submit" name="button" id="button1" onclick="runAFunction" value="Submit" /> <br/> Needed sq. footage: <input type="text" name="textbox4" id="textbox4" readonly="true"/> 

You should wrap your inputs with form and bind onsubmit event: 您应该使用表单包装您的输入并绑定onsubmit事件:

 function WoodFunct() { var areaLength = document.getElementById("textbox1").value; var areaWidth = document.getElementById("textbox2").value; var areaDepth = document.getElementById("textbox3").value; var answer =(parseFloat(areaLength)*parseFloat(areaWidth)*parseFloat(areaDepth))*27; var textbox4 = document.getElementById('textbox4'); textbox4.value=answer; } function DirtFunct() { var areaLength = document.getElementById("textbox1").value; var areaWidth = document.getElementById("textbox2").value; var areaDepth = document.getElementById("textbox3").value; var answer =(parseFloat(areaLength)*parseFloat(areaWidth)*parseFloat(areaDepth))*1.5; var textbox4 = document.getElementById('textbox4'); textbox4.value=answer; } document.getElementById('form').onsubmit = function() { if (document.getElementById('select').value == 1) { WoodFunct(); } else { DirtFunct(); } return false; } 
 <form id="form"> L: <input type="text" name="textbox1" id="textbox1" /><br> W: <input type="text" name="textbox2" id="textbox2" /> <br> D: <input type="text" name="textbox3" id="textbox3" /> <br> Product: <select id="select"> <option value='1' id="WoodProduct">Wood</option> <option value='2' id="DirtProduct">Dirt</option> </select><br> <input type="submit" name="button" id="button1" value="Submit" /> <br/> Needed sq. footage: <input type="text" name="textbox4" id="textbox4" readonly="true"/> </form> 

if you use jquery, you can do 如果您使用jQuery,则可以

 $(function() {

     $("#button1").click(function(){

            var selected = $("#select option:selected").text();

            if(selected === 'Wood')
               WoodFunct();
            else if(selected === 'Dirt')
               DirtFunct();
     });


   });

A simple way to write the run a function would to check if each option is selected. 编写运行函数的一种简单方法是检查是否选择了每个选项。 Like so. 像这样

function runAFunction() {
    if(document.getElementById("WoodProduct").selected = true)
        WoodFunct();
    else if(document.getElementById("DirtProduct").selected = true)
        DirtFunct();
}   

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM