转自:http://blog.csdn.net/huigoo/article/details/7491586
由于下拉列表涉及到级联操作,所以准备将option的值通过$('el').html()设置进去,然后设置相应的值,在IE8、FF、Chrome下均没错误,IE6.0出现无法设置问题,报错"无法设置selected属性。无效索引。",如下图
遂开始在IE6下艰苦调试,发现只需要在设值之前打印一个alert,js就不出现错误
- $(document).ready(function(){
- var _var = "<option value='test1'>test1</option>"
- _var += "<option value='test2'>test2</option>"
- _var += "<option value='test3'>test3</option>"
- $('#test').html(_var)
- alert'test')//如果这里的alert去掉,这报"无法设置selected属性。无效索引。"
- $('#test').val('test2')
- })
由此中窥知,莫非$('el').html(xxxx)有延时的???最后通过设置暂停来解决了,代码如下
- $(document).ready(function(){
- var _var = "<option value='test1'>test1</option>"
- _var += "<option value='test2'>test2</option>"
- _var += "<option value='test3'>test3</option>"
- $('#test').html(_var)
- setTimeout("testSelected()",1) ;
- })
- testSelected = function(){
- $('#test').val('test2')
- }