jquery 获取下拉框 某个text='xxx'的option的属性 非选中 5



jquery 获取下拉框 text='1'的 option 的value 属性值 

我写的var t= $("#selectID option[text='1']).val() ; alert(t);
或者 var x=$("#selectID").find("option[text='1']").val(); alert(x);
弹出的值一直是undefind 是为什么?

html代码:

<select id="#selectID">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>收起

 

类似标签[属性='值']这种叫做属性选择器,即选中属性=值的标签,但是,DOM里面是没有text属性的,所以option[text='1']是非法的。

我写了一段代码做参考

var             x =             ""            ;           
            $(            "#selectID option"            ).each(            function            () {           
                        if            ($(            this            ).text() ==             "1"            ) {           
                        x = $(            this            ).val();           
                        }           
            })

另外,id那里是不需要加#的,也就是<select id="selectID">就可以了,#本身就表示id选择器



谢谢 学习了 我还想问下 jq 对下拉框的操作 我需要这样一个功能 的下拉框 下拉框的option非常多 我想让用户输入一些 关键字 筛选 option 这样选项就少点 好选点?这个用jq怎么写好 ?


额,这样的话,可以先把所有option保留,如果你的option是从后台拿到的话。

假设你输入的字符串是str的话,把上面那段代码改装一下就好了

$(              "#selectID option"              ).each(              function              () {             
                            if              ($(              this              ).text().indexOf(str) == -1) {             
                            x = $(              this              ).remove();             
                            }             
              })

把不含有那个字符串的option移除掉,或者你想隐藏掉也行,只要注意如果是移除的话移除前先备份就好

如何获得select被选中option的value和text和......


我想获取select选中的value,或者text,或者……

比如这个:

<select id="select">
    <option value="A" url="http://www.baidu.com">第一个option</option> <option value="B" url="http://www.qq.com">第二个option</option> </select>

一:JavaScript原生的方法

1:拿到select对象: `var myselect=document.getElementById("select");

2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的index 3:拿到选中项options的value: myselect.options[index].value; 4:拿到选中项options的text: myselect.options[index].text; 5:拿到选中项的其他值,比如这里的url: myselect.options[index].getAttribute('url');

二:jQuery方法

1:var options=$(“#select option:selected”); //获取选中的项

2:alert(options.val()); //拿到选中项的值 3:alert(options.text()); //拿到选中项的文本 4:alert(options.attr('url')); //拿到选中项的url值


我想获取select选中的value,或者text,或者……

比如这个:

<select id="select">
    <option value="A" url="http://www.baidu.com">第一个option</option> <option value="B" url="http://www.qq.com">第二个option</option> </select>

一:JavaScript原生的方法

1:拿到select对象: `var myselect=document.getElementById("select");

2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的index 3:拿到选中项options的value: myselect.options[index].value; 4:拿到选中项options的text: myselect.options[index].text; 5:拿到选中项的其他值,比如这里的url: myselect.options[index].getAttribute('url');

二:jQuery方法

1:var options=$(“#select option:selected”); //获取选中的项

2:alert(options.val()); //拿到选中项的值 3:alert(options.text()); //拿到选中项的文本 4:alert(options.attr('url')); //拿到选中项的url值