爱猪の云 发表于 2008-2-26 11:52

js根据value值获取select的index值

我有个select,,,
<select name="select ">                  
<option  value="1">分类1</option>
  <option  value="2">分类2</option>
<option  value="3">分类3</option>                                      
</select>

我想问大家个问题。。比如我知道value的值是2,,但是要怎么才能知道他的index值呢。。这个value=2的这个项不一定是选中的。。。这个用js要怎么根据value的值来获取他的index值啊。。
高手赐教啊。。。小弟刚学。。。

hwoarangzk 发表于 2008-2-26 12:31

你说的index是指它在option数组里面的位置吗?

爱猪の云 发表于 2008-2-26 12:45

是啊,,,这个要怎么弄啊。。
谢谢啦。。。

hwoarangzk 发表于 2008-2-26 12:53

你可以通过select的childNodes得到这个option数组,然后查value的值,例如,如果value=2,那么就输出这个option的Index阿

hwoarangzk 发表于 2008-2-26 13:00

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
        function see() {
                var o = document.getElementById("a").options;
                for(var i = 0; i < o.length; i++) {
                        if (o[i].selected == true) alert(i);
                }
        }
</script>
</head>
<body>
<select id="a">
        <option value=1>aaa</option>
        <option value=2>bbb</option>
        <option value=3>ccc</option>
        <option value=4>ddd</option>
        <option value=5>eee</option>
</select>
<input type="button" value="see index" onclick="see();"/>
</body>
</html>
先选一个值,再按按钮就可以看见它的Index了,不知道是不是你想要得效果

爱猪の云 发表于 2008-2-26 13:16

[quote][bo]以下是引用 [un]hwoarangzk[/un] 在 2008-2-26 13:00 的发言:[/bo]




Insert title here

        function see() {
                var o = document.getElementById("a").options;
                for(var i = 0; i < o.length; i++) {
                        if (o.selected == true) alert(i);
                }
        }




        aaa
        bbb
        ccc
        ddd
        eee

... [/quote]

那如果你选中的是aaa,,但是我知道ddd的value的值,,要怎么获取到ddd的index值呢。。。
就是说我想获取的那个index的值不一定是选中的那个项的index值。。。
不知道这样能否实现。。。
谢谢啦。。

hwoarangzk 发表于 2008-2-26 13:22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
        function see() {
                var o = document.getElementById("a").options;
                var myValue = document.getElementById("myValue").value;
                for(var i = 0; i < o.length; i++) {
                        if (o[i].value == myValue) alert(i);
                }
        }
</script>
</head>
<body>
<select id="a">
        <option value=1>aaa</option>
        <option value=2>bbb</option>
        <option value=3>ccc</option>
        <option value=4>ddd</option>
        <option value=5>eee</option>
</select><br/>
Input your value:
<input type="text" id="myValue" /><br/>
<input type="button" value="see index" onclick="see();"/>
</body>
</html>
输入你知道的value值,再点按钮就能看到index了。但是你想这样做什么呢?

爱猪の云 发表于 2008-2-26 14:18

[em14]
好了。。可以了。。。
谢谢斑竹。。。[em12]

爱猪の云 发表于 2008-2-26 14:32

我是想在页面刷新的时候自动选择我上次选择过的选项。。。呵呵。。。

页: [1]

编程论坛