2011-07-26 69 views
0

我无法找到任何解决方案中选择简单的值更改后正确显示,代码工作corretly在Chrome和IE中但不工作在FF选择不改变

<select id='testsel' name='test'> 
     <option value="">-- select something --</option> 
     <option value="1">selected</option> 
    </select> 

如果我尝试

$('#testsel').val("1"); 

值被选中但未显示(您可以查看是否展开选择)。令人感到奇怪的

$('#testsel').val(); 

返回 “”(第一个值)

同样的问题,如果我尝试

$('#testsel > option[value="1"]').attr("selected", "selected"); 

但这次的结果是有点不同

$('#testsel > option[value="1"]').attr("selected"); 

我看“选择“作为结果,但在屏幕上什么也没有。

有什么想法?

+2

嗯......它在jsFiddle上效果很好:http://jsfiddle.net/r4WWe/ – Karolis

+1

+1是的,对我来说也很好。 Firefox 5.0 –

回答

0

您是否在使用某些样式插件进行选择?

通常这些插件会替换元素,通过代码更改值不会反映在替换的元素上。 (虽然我觉得奇怪的是它在其他浏览器工作)

对于示例代码应工作正常因素(如在评论验证)。

+0

我发现问题的原因,但我仍然不明白为什么它不起作用在FF $('select',form).not(exclude).children('option')。removeAttr '选择'); 评论完所有工作后。 –

+0

@pma_,如果你可以提供一个链接或一个jsfiddle.net来显示问题的实际效果,那么我们需要查看'exclude'中的内容'form'等等,以便正确调试。 。 –