Javascript jQuery根据表单条目计算实时输出

Javascript jQuery根据表单条目计算实时输出,javascript,jquery,forms,Javascript,Jquery,Forms,我有一张表格。用户将填写它,在该表单的底部,我试图显示插入表单页面的基于值的值 到目前为止,我没有得到任何输出,以下是我的尝试: HTML格式: <form id="myform"> <select name="sv_313" onchange="calculate()" id="sv_313" > <option value="Selec

我有一张表格。用户将填写它,在该表单的底部,我试图显示插入表单页面的基于值的值

到目前为止,我没有得到任何输出,以下是我的尝试:

HTML格式:

<form id="myform">
 <select   
            name="sv_313"
            onchange="calculate()"
            id="sv_313"
        >
                <option value="Select One">Select One</option>
                <option value="0.1">A</option>
                <option value="0.2">B</option>
                <option value="0.3">C</option>
        </select>
<br/>
           <input 

                type="number" 
                name="sv_312" 
                size="10" 
                maxlength="10"
                onblur="calculate()"
                id="sv_312" 
            />


Calculated value 
            <div id="coverage"> </div>

</form>

选择一个
A.
B
C

计算值
javascript:

<script>
//define an array for the possible values input via select menu
var spv = new Array();
spv["A"]=0.1;
spv["B"]=0.2;
spv["C"]=0.3;


//function to get the value from select menu
function getSAMprevalence()
{
var SAMprevalence=0;    
var theForm = document.forms["myform"];
var selectedSAMprevalence = theForm.elements["sv_313"];
SAMprevalence = spv[selectedSAMprevalence.value]
return SAMprevalence;
}

//function to get the value from input field
function getInputvalue()
{
var Inputvalue=0;   
var theForm = document.forms["myform"];
var Inputvalue = theForm.elements["sv_312"];
return Inputvalue;
}

//function to calculate using these two functions, and output into div named coverage:
function calculate()
{
var treatmentCoverage = getSAMprevalence() + getInputvalue();
document.getElementById('coverage').innerHTML =
                                      ""+treatmentCoverage;
}
    </script>
function calculate() {
    var myForm = document.forms['myform'];
    var selectVal = myForm.elements['sv_313'].value;
    var inputVal = myForm.elements['sv_312'].value;
    if(!inputVal) inputVal = 0;
    document.getElementById('coverage').innerHTML = parseFloat(selectVal) + parseInt(inputVal);
}

//为通过选择菜单输入的可能值定义一个数组
var spv=新数组();
特殊目的价值[“A”]=0.1;
特殊目的价值[“B”]=0.2;
特殊目的价值[“C”]=0.3;
//函数从选择菜单中获取值
函数getSamPosition()
{
var=0;
var theForm=document.forms[“myform”];
var SelectedSamPosition=形式元素[“sv_313”];
SamPosition=spv[选择SamPosition.value]
回归分析;
}
//函数从输入字段中获取值
函数getInputvalue()
{
var Inputvalue=0;
var theForm=document.forms[“myform”];
var Inputvalue=形式元素[“sv_312”];
返回输入值;
}
//函数使用这两个函数进行计算,并输出到名为coverage的div中:
函数计算()
{
var-treatmentCoverage=GetSamPosition()+getInputvalue();
document.getElementById('coverage').innerHTML=
“+治疗覆盖率;
}
我真的没有JavaCScript或其他任何东西的经验,任何指针都将非常感谢。谢谢

编辑:这里是一个在中设置的JSFIDLE,说明没有任何输出:(

我相信您的错误是在获得所选选项时。请尝试以下操作:

SAMprevalence = spv[selectedSAMprevalence.options[selectedSAMprevalence.selectedIndex].text]
感谢:

我相信您的错误是在获得所选选项时。请尝试以下操作:

SAMprevalence = spv[selectedSAMprevalence.options[selectedSAMprevalence.selectedIndex].text]
感谢: 尝试使用jQuery

尝试使用jQuery

HTML:

HTML:


我刚刚看到了!这是我的示例制作中的一个错误…我编辑了它,因为我的实际代码没有这个错误…仍然没有乐趣。感谢您的输入。我刚刚看到了!这是我的示例制作中的一个错误…我编辑了它,因为我的实际代码没有这个错误…仍然没有乐趣。感谢您的输入。这个解决方案看起来很完美-它在js Fiddle中工作得很好,但我不能让它在我的真实代码中工作-这与我的其他js有冲突(我知道这一点,因为如果我删除它,它会工作得很好!)。我应该将它包含在
$(document.ready(function(){})中吗
?确保事件在DOM就绪事件中..该函数可以放在iThanks之外-开始工作了,我不太了解javascript需要进入的顺序,但是当它放在主模板的标题中而不是正文中时,它似乎可以工作:)谢谢!这个解决方案看起来很完美——它在js Fiddle中工作得很好,但我无法在我的真实代码中工作——它与我拥有的其他js存在冲突(我知道这一点,因为如果我将其全部删除,它工作得很好!)。我是否应该将其封装在
$(document).ready(function(){})中?确保事件在DOM就绪事件内。。这个函数可以放在itThanks之外——它可以工作了,我不太了解javascript需要进入的顺序,但是当它放在我的主模板的标题中而不是正文中时,它似乎可以工作:)谢谢!
function calculate() {
    var myForm = document.forms['myform'];
    var selectVal = myForm.elements['sv_313'].value;
    var inputVal = myForm.elements['sv_312'].value;
    if(!inputVal) inputVal = 0;
    document.getElementById('coverage').innerHTML = parseFloat(selectVal) + parseInt(inputVal);
}