高手指导下 jquery 中 select 控件 ,根据text值来选中项没用

laokaizzz 2012-07-19 11:42:02
网上查询看到如下的:
设置select的Text值为JQuery的选中:
$("#slc1 option[text='jQuery']").attr("selected", true);

实际上这种没用,高手能指导一下,为什么没用,如果想要text值为jquery的选中,怎么搞,不用循环遍历什么的
...全文
1793 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
花折剑 2014-09-28
  • 打赏
  • 举报
回复
赞同楼主 $("select option:contains('Jquery')").attr('selected', true);
may857091 2014-01-27
  • 打赏
  • 举报
回复
//上次写jQuery操作碰到 select option[text=' '] 属性判断选中的问题: $("#id option[text='OK']").attr('selected', true); //这样不行,网上一查也都是这样写的,很无语;后改成这种写法就OK 了 $("#id").find("option[text='OK']").attr('selected', true); http://springlin.iteye.com/blog/1520679
laokaizzz 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
刚又测试了下,chrome下也是有作用的,我的也是ie8 也是有作用的。

熟悉jQuery的人都知道 [text=''] 这个是取dom对象的text属性的吧!

那么代码:

JScript code

alert(document.getElementById('se').options[0].text);


这个也是可以弹出select中option的text的。既……
[/Quote]


哥们儿,我找到原因了,妈的,就是jquery 版本的问题 jquery 1.4.2 可以, jquery-1.7.2.js不行!!
擦,为啥版本高的还不行了,真恶心,感谢这位兄弟,谢谢
smatiger 2012-07-23
  • 打赏
  • 举报
回复
刚又测试了下,chrome下也是有作用的,我的也是ie8 也是有作用的。

熟悉jQuery的人都知道 [text=''] 这个是取dom对象的text属性的吧!

那么代码:
alert(document.getElementById('se').options[0].text);


这个也是可以弹出select中option的text的。既然如此,$("#se option[text='2222']")就肯定能取到相对应的jquery对象了。

如果楼主哪里不行,请再分析下:
1、select id 错误
2、text=jQuery 之间可能有空格或者换行 <option>jQuery</option> 可以这样改了试试

这两个原因!

另外建议楼主将自己的测试代码帖出来。。。或者请楼主换台电脑测试我的代码。。。
laokaizzz 2012-07-20
  • 打赏
  • 举报
回复
不晓得孔明灯是不是正的测试过

$("#slc1 option[text='jQuery']").attr("selected", true);
是不行的。


$("select option:contains('Jquery')").attr('selected', true);
是可以的,是我需要的答案。

不过依旧感谢你
laokaizzz 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
$("select option:contains('Jquery')").attr('selected', true);
[/Quote]

这个好使,感谢
laokaizzz 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
引用 7 楼 的回复:

$("select option:contains('Jquery')").attr('selected', true);


contains 会去匹配所有包含Jquery的text 比如所你下面还有个option>Jquery 1.7<option> 则后面这个option会被选中。 当然如果你只有一个Jquery则可以使用这种方法。。


有不懂的再……
[/Quote] 问题是我的ie不行啊?为啥咧,我的是ie8
smatiger 2012-07-19
  • 打赏
  • 举报
回复
$("#slc1 option[text='jQuery']").attr("selected", true);

这种方式是有作用的。 你这里不起作用可能有多种原因

1、select id 错误
2、text=jQuery 之间可能有空格或者换行 <option>jQuery</option> 可以这样改了试试
3、给option设置value 之后根据value判断,这样可以不用担心空格或换行

如果你还是认为不起效,你可以单独写个html测试下,是可以的。贴下我测试成功的代码。。

<select id="se"><option value="ss">1111</option><option value="aa">2222</option><option value="tt">3333</option></select>
<script src="jquery-1.4.2.js" type="text/javascript" ></script>
<script>
$("#se option[text='2222']").attr('selected',true);
</script>


有不懂的再问。。。
laokaizzz 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
不用循环遍历肯定不好搞定。
[/Quote]

我是想用jquery自带的东西 看能不能实现
licip 2012-07-19
  • 打赏
  • 举报
回复
不用循环遍历肯定不好搞定。
smatiger 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

$("select option:contains('Jquery')").attr('selected', true);
[/Quote]

contains 会去匹配所有包含Jquery的text 比如所你下面还有个option>Jquery 1.7<option> 则后面这个option会被选中。 当然如果你只有一个Jquery则可以使用这种方法。。


有不懂的再问。。。
smatiger 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

$("#se option[text='2222']").attr('selected',true);
没用
$("#se option[value='aa']").attr('selected',true); 这就有用

测试几遍都没用
[/Quote]

IE下是没问题的,chrome下就不行了,ff应该也不行吧


<script>
$("#se option").each(function (){
if($(this).text()=='2222'){
$(this).attr('selected',true);
}
});
</script>


循环下就好了。。为什么不用循环呢? 也不难也不麻烦啊。。。
bree06 2012-07-19
  • 打赏
  • 举报
回复
$("select option:contains('Jquery')").attr('selected', true);
laokaizzz 2012-07-19
  • 打赏
  • 举报
回复
$("#se option[text='2222']").attr('selected',true);
没用
$("#se option[value='aa']").attr('selected',true); 这就有用

测试几遍都没用
laokaizzz 2012-07-19
  • 打赏
  • 举报
回复
唯一不同的是我的jquery 是 jquery-1.7.2.js,这个应该没影响的哦、
你确定你测试显示出来的是222
laokaizzz 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
$("#slc1 option[text='jQuery']").attr("selected", true);

这种方式是有作用的。 你这里不起作用可能有多种原因

1、select id 错误
2、text=jQuery 之间可能有空格或者换行 <option>jQuery</option> 可以这样改了试试
3、给option设置value 之后根据value判断,这样可以……
[/Quote]

你测试的是有用的?我复制你的代码,没有用哦

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧