2010-06-09 118 views
3

我试图用jQuery在选择下拉框中更改选定的选项。我已经设置了它,以便它可以在URL末尾找到散列标签,并根据该散列标签更改选择框中的选定选项。选项标记值属性的jQuery选择器返回null

我的大部分代码都是有效的,它能够成功找到哈希标记并执行与之对应的if语句。但是,当它转到执行语句的“then”部分时,它会转到选项的选择器(它使用基于选项标记的value属性的属性选择器),它将返回null。如果用萤火虫计算出来,在控制台中它说选择器是空的。

这里是我的代码:

$(document).ready(function() { 
    var $hash = window.location.hash 
    if($hash == "#htmlcss") { 
    $('option[value="HTML/CSS Coding"]').attr("selected","selected") 
    } 
    if($hash == "#php") { 
    $('option[value="PHP Coding"]').attr("selected","selected") 
    } 
    if($hash == "#jscript") { 
    $('option[value="Javascript and jQuery Coding"]').attr("selected","selected") 
    } 
    if($hash == "#improv") { 
    $('option[value="General Website Improvements"]').attr("selected","selected") 
    } 
    if($hash == "#towp") { 
    $('option[value="Website Conversion to Wordpress"]').attr("selected","selected") 
    } 
    if($hash == "#wptheme") { 
    $('option[value="Wordpress Theme Design"]').attr("selected","selected") 
    } 
    if($hash == "#complete") { 
    $('option[value="Complete Website Creation"]').attr("selected","selected") 
    } 
    if($hash == "#server") { 
    $('option[value="Web Server Configuration"]').attr("selected","selected") 
    } 
}); 

所以要澄清,当我在那个在#PHP哈希标签结尾的网址进入,例如,不会发生所期望的作用,这将改变“PHP编码“选项通过使用”选定的“html属性选定,但特定选项标签的选择器返回null。我的语法有问题吗,或者我的代码没有按照我认为应该的方式运行?非常感谢。

+2

你确定那些是价值,而不是''