轉自
---
補充一下
使某option變為selected
$("#select1").children().each(function(){
if ($(this).text()=="option you want"){
//jQuery給法
$(this).attr("selected", "true"); //或是給"selected"也可
//javascript給法
this.selected = true;
}
});
其中
//jQuery給法
$(this).attr("selected", "true"); //或是給selected也可
這是錯的,在FIREFOX可以跑,但是在CHROME就無效了
正確應該是:
//jQuery給法
$(this).attr("selected", true); //或是給"selected"也可
---
jQuery對select tag的操作
$("select#Club").val();
$('select#Club option:selected').text();
以上2方法在單選時相同,但複選時,
val()會用逗號分開 ex. AA, BB
text()不會 ex. AABB
$("select#Club").children("[@selected]").each(function(){
alert(this.text());
});
$("#select1").children().each(function(){
if ($(this).text()=="option you want"){
//jQuery給法
$(this).attr("selected", true); //或是給"selected"也可
//javascript給法
this.selected = true;
}
});
var option = jQuery("new option");
$('select#Club').append(option);
$(option).attr("selected", true); //讓option為selected
$('select#Club').trigger("change"); //最後要觸發select的change事件
$('select#Club')[0].selectedIndex = 1;//不知為何要加[0]
=========== K. T. Chen 提到 ==========================
在$("")加[0]的意思是把jQuery物件轉為DOM物件。這樣子jQuery物件才能使用DOM底下的selectedIndex方法。
//改變時的事件
$("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();
//純javascirpt
<select onchange="alert('Index: ' + this.selectedIndex
+ '\nValue: ' + this.options[this.selectedIndex].value)">
...
</select>
參考