2013-05-01 173 views
2

以下jsfillde正在使用jQuery 1.8.3,但不適用於任何較新的版本..我無法找到解決此問題的方法。使用jQuery 2.0動態選擇選項

http://jsfiddle.net/hyBXd/

$("[name=ids] option").each(function() { 
    if($(this).attr('value') == 2) { $(this).attr('selected','selected'); } 
}); 

誰能幫我這個? 感謝

+0

http://jsfiddle.net/hyBXd/1/改變圖書館的jQuery 2.0和在這裏工作得很好。 ..? – 2013-05-01 10:01:24

+0

你的小提琴實際上適合我。我正在使用最新的Chrome – musefan 2013-05-01 10:42:00

+0

@ChrisDixon就是這樣!它不適合我.. – ppseprus 2013-05-01 13:34:19

回答

4

嘗試使用prop(),而不是attr()

在jQuery 1.6中,.attr()方法返回undefined對於尚未設置屬性 。要檢索和修改DOM屬性,如 的檢查,選擇,或禁用表單元素的狀態,使用 .prop()方法

$(function() { 
    $("[name=ids] option").each(function() { 
     if($(this).prop('value') == 2) { $(this).prop('selected','selected'); } 
    }); 
}); 
3

不管這是爲什麼不工作的,你可以重簡化你的腳本與最新的jQuery 1.x的工作:

$(function() { 
    $("[name=ids]").val(2); 
}); 

http://jsfiddle.net/hyBXd/2/

+1

感謝您的!我會堅持這一個,但是,我認爲Eli指出了我正在努力的問題。這就是爲什麼我選擇了這個答案,但是謝謝..它實際上更短了..! :) – ppseprus 2013-05-01 13:36:59