onchange 检测 当前select 是否被改变。
<!DOCTYPE > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <style type="text/css"> select { height: 20px; width: 100px; } </style> <body> <select name="abc" class="selector" onchange="gradeChange()"> <option value="" selected="selected">选择月份</option> <option value=0>一月</option> <option value=1>二月</option> <option value=2>三月</option> <option value=3>四月</option> </select> 月 </body> </html> <script type="text/javascript" src="jquery-1.11.1.min.js"></script> <script type="text/javascript"> function gradeChange(){ var selectval=$(".selector").find("option:selected").text(); alert(selectval) } </script>
以下非原创:
比如<select class="selector"></select>
1、设置value为pxx的项选中
$(".selector").val("pxx");
2、设置text为pxx的项选中
$(".selector").find("option[text='pxx']").attr("selected",true);
这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。
3、获取当前选中项的value
$(".selector").val();
4、获取当前选中项的text
$(".selector").find("option:selected").text();
这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。
很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。
如:$(".selector1").change(function(){
// 先清空第二个
$(".selector2").empty();
// 实际的应用中,这里的option一般都是用循环生成多个了
var option = $("<option>").val(1).text("pxx");
$(".selector2").append(option);
});