逃不开传统的四种操作:增、删、改、查。
<四处搜刮了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的增、删、改、查操作总结,希望大家能够喜欢。