- get
- 取出選擇的值
$("select#Club").val(); $('select#Club option:selected').text();
以上2方法在單選時相同,但複選時,
val()會用逗號分開 ex. AA, BB
text()不會 ex. AABB - 取出array
$("select#Club").children("[@selected]").each(function(){ alert(this.text()); });
- 取出選擇的值
- set
- 使某option變為selected
//使aaa為selected $("#select1").children().each(function(){ if ($(this).text() == "aaa"){ //jQuery給法 $(this).attr("selected","true"); //或是給selected也可 //javascript給法 this.selected = true; ;} }); //直接指定... 上面的方法變的有點蠢... 誰寫的... 我.... $('#select1').val("aaa");
- 新增option
$('select').append(new Option('text', 'value')); //之前好像誤寫成 jQuery("new option"); 歹勢呀~
- 讓新增的option直接為selected
//new Option([text], [value], [defaultSelected], [selected] var option = new Option( 'text' , 'value' , true //html裡顯示selected , true //第四個參數即為selected ); $('select').append(option);
- select下拉框的第二個元素為當前選中值
$('select#Club)[0].selectedIndex = 1;//不知為何要加[0]
===== K. T. Chen 提到 =====
在$("")加[0]的意思是把jQuery物件轉為DOM物件。這樣子jQuery物件才能使用DOM底下的selectedIndex方法。
- 使某option變為selected
- event
//改變時的事件$("select#Club").change(function(){ //事件發生 //一次印出 alert($(this).val()); //印出選到多個值 jQuery('option:selected', this).each(function(){ alert(this.value); }); });
- 移除 removeOption(index/value/regex[, selectedOnly])
$('select#Clubs option:selected').remove();
<select onchange="alert('Index: ' + this.selectedIndex + '\nValue: ' + this.options[this.selectedIndex].value)"> ... </select>
參考
11 則留言:
剛好查詢Select Contol的用法,來感謝一下
我也剛好正在查找select的控制用法,非常感謝您~
多謝...找到你的筆記
$('#select_id')[0].selectedIndex = 1;//不知為何要加[0]
=====================================
在$("")加[0]的意思是把jQuery物件轉為DOM物件。這樣子jQuery物件才能使用DOM底下的selectedIndex方法。
原來是用dom的selectedIndex呀
也是 有道理...
不錯不錯
謝謝
不錯喔,多謝了
真是簡短實用的好文章呢^^感謝
本來到這裡是想看 selectedIndex 的 jQuery 寫法,誰知原來你連為什麼要加 [0] 也不知道… =_="
我試了一下 select 增加 option 的作法發現沒作用,後來找到另一種寫法確定可以正確運作
$('#select1').append($("<option></option>").attr("value", "value").text("text")
可能寫錯吧...應該是這樣...
$('#select1').append(new Option('newText', 'newValue'));
張貼留言