Javascript Div onchange从两个选择框中获取值

时间:2015-06-30 23:54:52

标签: javascript html

我正试图这样做,当div中的选择框发生变化时,它会从选择框和另一个我尚未添加的框中获取值,但我不知道该怎么做关于它。
我目前有这个代码

<select id='selMag' onchange='getSelMag(this)'> 
    <option value='0.0>Select Minimum Magnitude</option> 
    <option value='1.0'>1.0</option> 
    <option value='2.0'>2.0</option> 
    <option value='3.0'>3.0</option> 
    <option value='4.0'>4.0</option> 
    <option value='5.0'>5.0</option> 
    <option value='6.0'>6.0</option> 
    <option value='7.0'>7.0</option> 
    <option value='8.0'>8.0</option> 
    <option value='9.0'>9.0</option> 
    <option value='10.0'>10.0</option> 
</select>

function getSelMag(sel) {
    value = Number(sel.value);
    console.log(window.value);
}

这就像现在一样,从中抓取它可以正常工作,但是我想添加另一个并将它们放在容器div中,并且当它们中的任何一个发生更改时都会这样做,它将从两个中获取值其中,将两个字符串一起添加,并将它们转换为数字。我打算这样做,所以上面的选择框不会有十进制值,只有1,2等,并且第二个框是.1,.2等,所以当它们加在一起时,它会显示1.1 ,1.2等。

2 个答案:

答案 0 :(得分:0)

使用此链接中的答案获取getSelMag()函数中其他选择框的值

Get selected value in dropdown list using JavaScript?

如下:

function getSelMag(sel) {
    value = Number(sel.value);
    console.log(window.value);
    var e = document.getElementById("selMag2");
    var option2 = e.options[e.selectedIndex].text;
    //do whatever u want
}

您可以创建另一个函数,例如x(),它将为您创建的其他选择框调用,并从中访问第一个选择框的值

<select id='selMag2' onchange='x(this)'>

作为

function getSelMag2(sel) {
    value = Number(sel.value);
    console.log(window.value);
    var e = document.getElementById("selMag");
    var option1 = e.options[e.selectedIndex].text;
    //do whatever u want
}

希望这有帮助

答案 1 :(得分:0)

据推测,选择是一种形式。要成功,表单控件必须具有名称,所以:

<select id='selMag' name='selMag' onchange='getSelMag(this)'>

添加名称几乎总是不需要ID。如果另一个选择也有一个名称:

<select name='selMag2'>

并且它与第一种形式属于同一形式,您可以通过以下形式从 getSelMag 函数中引用它:

function getSelMag(sel) {

    // Always declare variables
    var value = Number(sel.value);

    // Access them from the appropriate scope
    console.log(value);

    // Reference the other select using named properties of the form
    var otherSelect = sel.form.selMag2;

    // Do stuff with it
    var otherValue = otherSelect.value;
}

请注意,所有表单控件都具有引用其父表单的form属性,并且可以通过表单的elements集合访问属于表单的控件。

具有名称(在某些浏览器中具有ID的浏览器)可以作为表单和元素集合的命名属性访问,也可以通过集合中的索引访问。

似乎您希望将值与之间的句点连接起来,因此函数可能如下所示:

function getSelMag(sel) {
    var value0 = sel.form.selMag.value;
    var value1 = sel.form.selMag2.value;
    console.log(value0 + '.' + value1);
}

和HTML:

<form>
  <select name="selMag" onchange="getSelMag(this);">
    <option value="0" selected>0
    <option value="1">1
    <option value="2">2
  </select>
  <select name="selMag2" onchange="getSelMag(this);">
    <option value="0" selected>0
    <option value="1">1
    <option value="2">2
  </select>
</form>