如何从其值中获取Option的索引

时间:2014-11-13 15:33:49

标签: javascript

我知道如何从索引中获取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);

2 个答案:

答案 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);