通过选项文本搜索选项索引

时间:2014-05-31 05:43:58

标签: javascript html

嗨,无论如何要通过它的文本返回一个选项的索引? (没有jquery或任何lib)

<select>
     <option>I</option> //0
     <option>Love</option> //1
     <option>my</option> //2
     <option>granny<option> //3
</select>
例如,我会传递一个字符串&#34;奶奶&#34;它将返回3

6 个答案:

答案 0 :(得分:1)

如果您有一个如下所示的select元素:

<select id="ddlViewBy">
<option value="1">test1</option>
<option value="2" selected="selected">test2</option>
<option value="3">test3</option>
</select>

运行此代码:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].value;

答案 1 :(得分:1)

很抱歉几天没有活动,这是我做的那个,它会根据所需的字符串返回一个选项的索引,而不是值。我只是觉得这个过程很简单,但我认为没有。以防万一,这样做。

HTML

<select id = "myDropDown">
     <option>I</option> //0
     <option>Love</option> //1
     <option>my</option> //2
     <option>granny<option> //3
</select>

的Javascript

var dropDownList = document.getElementById("myDropDown");
var str = "granny";
var i =0;
for(i=0;i<dropDownList.length;i++){
    if(dropDownList.options[i].text == str){
        console.log("index: " + i);
    }
}

答案 2 :(得分:0)

<select>
 <option value="0">I</option> //0
 <option value="1">Love</option> //1
 <option value="2">my</option> //2
 <option value="3">granny<option> //3
</select>

答案 3 :(得分:0)

获取索引
Fiddle
Javascript代码

function findIndex() {
    var e = document.getElementById("select1");
    alert(e.selectedIndex);
}  

HTML

<select id="select1" onchange="findIndex()">
    <option>I</option>
    <option>Love</option>
    <option>my</option>
    <option>granny</option>
</select>

答案 4 :(得分:0)

我认为您想要在Select的更改事件中检索所选索引,以便您可以尝试以下代码。

jsFiddle

<强> HTML

<select id="select1">
     <option>I</option> 
     <option>Love</option>
     <option>my</option> 
    <option>granny</option>
</select>

<强>的JavaScript

var select1=document.getElementById("select1");
select1.onchange=function(){
var s=document.getElementById("select1").selectedIndex;
alert(s);
}

答案 5 :(得分:-1)