jquery 获取下拉框 某个text='xxx'的option的属性 非选中 如何获得select被选中option的value和text和......
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>收起
我写的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>收起
我有更好的答案
推荐于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和......
我想获取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值