逃不開傳統的四種操作:增、刪、改、查。
<四處搜刮了jquery對select操作的代碼,匯集一下,方便以後查看。日歷天數變化代碼為原創。>
[增]:
代碼如下:
$("#select_id").append("<option value='Value'>Text</option>"); //為Select追加一個Option(下拉項)
$("#select_id").prepend("<option value='0'>請選擇</option>"); //為Select插入一個Option(第一個位置)
[刪]:
代碼如下:
$("#select_id option:last").remove(); //刪除Select中索引值最大Option(最後一個)
$("#select_id option[index='0']").remove(); //刪除Select中索引值為0的Option(第一個)
$("#select_id option[value='3']").remove(); //刪除Select中Value='3'的Option
$("#select_id option[text='4']").remove(); //刪除Select中Text='4'的Option
$("#select_id").empty(); //清空
[改](設置選中項):
代碼如下:
$("#select_id ").get(0).selectedIndex=1; //設置Select索引值為1的項選中
$("#select_id ").val(4); //設置Select的Value值為4的項選中
$("#select_id option[text='jQuery']").attr("selected", true); //設置Select的Text值為jQuery的項選中
[查](獲取選中值):
1.獲取選中項的value
代碼如下:
$("#select_id").val(); //獲取選中項的value
$("#select_id ").get(0).selectedIndex; //獲取選中項的索引值
$("#select_id").find("option:selected").text(); //獲取選中項的text
$("#select_id option:last").attr("index"); //獲取Select最大的索引值
附上代碼樣例,代碼功能為根據實際選擇的“年”、“月”,來改變select“日”中option的天數。
使用php編寫,默認$("select.day")初始有31天,因為默認為1月:
代碼如下:
<select name ="date_year" class="year"> //年
<?php
for ($year = 1990; $year <= date("Y"); ++$year) {
?>
<option value="<?php echo $year;?>"><?php echo $year;?></option>
<?php
}
?>
</select>
代碼如下:
<select name ="date_month" class="month"> //月
<?php
for ($month = 1; $month <= 12; ++$month) {
?>
<option value="<?php echo $month;?>"><?php echo $month;?></option>
<?php
}
?>
</select>
代碼如下:
<select name ="date_day" class="day"> //日
<?php
for ($day = 1; $day <= 31; ++$day) {
?>
<option value="<?php echo $day;?>"><?php echo $day;?></option>
<?php
}
?>
</select>
jquery代碼:
代碼如下:
$(document).ready(function() {
$("select.month, select.year").change(function() { //"年"、"月"的變化都可能引起“日”的變化
$("select.day").empty(); //非常重要,要先清空
for (var i = 1; i < 31; i++) {
var option = $("<option>").val(i).text(i);
$("select.day").append(option);
}
var month = $("select.month").val();
if ((month % 2 && month < 8) || (month % 2 === 0 && month > 7)) {
$("select.day").append("<option value='31'>31</option>"); //天數為31天的append一個option
}
if (month === 2) {
$("select.day option:last").remove();
$("select.day option:last").remove(); //2月天數28
var year = $("select.year").val();
if ((year % 4 === 0 && year % 100) || year % 400 === 0)
$("select.day").append("<option value='29'>29</option>"); //閏年2月天數加一
}
});
});
以上就是關於jQuery實現對select的增、刪、改、查操作總結,希望大家能夠喜歡。