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

jquery获取下拉框text='1'的option的value属性值我写的vart=$("#selectIDoption[text='1']).val();alert(... 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>
展开
 我来答
郑郑某
推荐于2017-11-27 · TA获得超过574个赞
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:115万
展开全部

类似标签[属性='值']这种叫做属性选择器,即选中属性=值的标签,但是,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移除掉,或者你想隐藏掉也行,只要注意如果是移除的话移除前先备份就好

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式