我知道如何从索引中获取Option的值,如下面的代码部分所示。
有没有办法通过传递文本/值来获得相应的索引,即' white'或者'蓝色'
<select id="Color">
<option>white</option>
<option>blue</option>
</select>
var x = document.getElementById("Color").selectedIndex;
var y = document.getElementById("Color").options;
alert("Index: " + y[x].index + " is " + y[x].text);
答案 0 :(得分:0)
使用jQuery是可能的。
function returnIndex(value) {
var selected = $("option:contains(" + value + ")")[0];
if (selected) {
selected.selected = "true";
return selected.index;
} else {
console.log("Value does not exist");
}
}
var x = document.getElementById("Color").selectedIndex;
var y = document.getElementById("Color").options;
var chosen = document.getElementById("Color").value;
alert("Index: " + returnIndex(chosen) + " is " + y[x].text);
答案 1 :(得分:0)
您可以按以下方式找到项目的索引
var z = "blue";
var y = document.getElementById("Color").options;
var myArray = [];
for(var i=0;i<y.length;i++)
{
myArray.push(y[i].text);
}
var elementPos = myArray.map(function(x) {return x; }).indexOf(z);
alert(elementPos);