TIPS-用jQuery操作<select>

關於jQuery如何讀取及設定<select>元素的選取值,對其用法一直有些含糊,今天摸個清楚,順便為文一篇作為紀念:

$("<select id='s1'><option value='1'>One</option>" +
  "<option value='2'>Two</option>" +
  "<option value='3'>Three</option></select>").appendTo("body");
//直接用val("...")可以選取特定value的選項
var s1 = $("#s1").val(2);
//val()可以取得選取項的值,find(":selected").text()則可得選取項的文字
//直接text()會傳回所有選項的文字大串連,不要誤用
alert(s1.val() + "." + s1.find(":selected").text());
//面對多選式select也不是問題,例如切成multiple,並選取所有選項
s1.attr({ "multiple":"true", size:"3" }).find("option")
.each(function() { this.selected = true; });
//薑 薑 薑 薑~~~ val()傳回的可是字串陣列呢!
var a = s1.val();
if ($.isArray(a)) alert(a.join(","));
//要選取特定選項,傳陣列進去就搞定了
a = ["2", "3"];
s1.val(a);

註: 以上程式碼可以直接貼到Mini jQuery Lab的Script區,馬上測試效果。

歡迎推文分享:
Published 12 May 2009 09:51 AM 由 Jeffrey
Filed under: ,


意見

# evakey said on 11 May, 2009 08:02 PM

不知道有沒有隱藏 option 的方法?

# 咖啡喵 said on 11 May, 2009 10:13 PM

<ul>

<li value="1">a</li>

<li value="2">b</li>

<li value="3">c</li>

<li value="4">d</li>

</ul>

這樣有辦法取到每一個 li 裡的 text 值嗎?

# 咖啡喵 said on 11 May, 2009 11:56 PM

自問自答 :p

var l = $("ul > li").eq(0); // 數字從 0 ~ n-1

alert (l.text());

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

搜尋

Go

<May 2009>
SunMonTueWedThuFriSat
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication