我正试图这样做,当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等。
答案 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>