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>收起

 

sharkbester | 浏览 4840 次 |举报

我有更好的答案
 
推荐于2017-11-27 02:25:22

 

最佳答案

 

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

我写了一段代码做参考

1
2
3
4
5
6
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的话,把上面那段代码改装一下就好了

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

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

https://zhidao.baidu.com/question/560948115956782924.html

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

2017年04月17日 23:06:07

阅读数:31152

我想获取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>
  • 1
  • 2
  • 3
  • 4

一: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');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

二:jQuery方法

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

2:alert(options.val()); //拿到选中项的值

3:alert(options.text()); //拿到选中项的文本

4:alert(options.attr('url')); //拿到选中项的url值