JQuery操作select的实例代码

news/2024/7/10 23:41:27 标签: javaScript, JQuery, select

         每一次操作select的时候,总是要出来翻一下资料,于是找了资料并做了一下小小的总结,以便以后查阅。

夺得2008年欧洲杯冠军的国家是: 
<select name="nation" id="nation"> 
	<option value="">请选择</option> 
	<option value="Germany">德国</option> 
	<option value="France">法国</option> 
	<option value="Italy">意大利</option> 
	<option value="England">英国</option> 
	<option value="Spain">西班牙</option> 
	<option value="Greece">希腊</option> 
</select> 

 

1.判断是否选择了国家

if($("#nation").val()=="") { 
    alert("请选择国家"); 
}

 

2.获取select中option项的个数 

$("#nation").find("option").length;

 

3.获取选中的option的值value和显示的文本text 

//获取选中项的值 
$("#nation").val(); 
//获取选中项显示的文本 
$("#nation").find("option:selected").text(); 

 

4.设置西班牙为选中项 

$("#nation").find("option[value='Spain']").attr("selected",true);
$("#nation").val("Spain");

 

5.获取被选中的国家的索引,索引从0开始 

$("#nation").find("option:selected").index();

 

6.设置索引值最大的option为选中项

$("#nation option:last").attr("selected",true);

 

7.设置索引值最小的option为选中项

$("#nation option:first").attr("selected",true);

 

8.添加一个国家选项 

$("#nation").append("<option value='Ukraine'>乌克兰</option>");

 

9.删除一个国家选项

//删除value="Italy"的选项 
$("#nation").find("option[value='Italy']").remove(); 
//删除索引为2的选项 
$("#nation").find("option[index=2]").remove(); 

 

        很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jQuery中是非常简单的。如:

$(".selector1").change(function(){
     // 先清空第二个
      $(".selector2").empty();
     // 实际的应用中,这里的option一般都是用循环生成多个了
      var option = $("<option>").val(1).text("pxx");
      $(".selector2").append(option);
});

 

附实例代码:

<!doctype html>
<html>
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=Edge">
	</head>
	<body>
		<div>
                        夺得2008年欧洲杯冠军的国家是:
			<select name="nation" id="nation"> 
				<option value="">请选择</option> 
				<option value="Germany">德国</option> 
				<option value="France">法国</option> 
				<option value="Italy">意大利</option> 
				<option value="England">英国</option> 
				<option value="Spain">西班牙</option> 
				<option value="Greece">希腊</option> 
			</select>
		</div>
		<script type="text/javascript" src="jquery-1.12.4.min.js"></script>
		<script type='text/javascript'>
			//获取第一个option的值
			$(document).ready(function(){
				$('#nation').change(function(){ 
					//alert($(this).children('option:selected').val());
					//1.判断是否选择了国家
					if($("#nation").val()=="") { 
						alert("请选择国家"); 
					}
					//2.获取select中option项的个数
					var length = $("#nation").find("option").length;
					alert("length:" + length);
					//3.获取选中项的value 
					var val = $("#nation").val(); 
					//4.获取选中项显示的文本 
					var textVal = $("#nation").find("option:selected").text(); 
					alert(val + ":" + textVal);
					//5.获取被选中的国家的索引,索引从0开始
					var index = $("#nation").find("option:selected").index();
					alert("index:" + index);
					//6.设置西班牙为选中项
					$("#nation").find("option[value='Spain']").attr("selected",true);
					alert($("#nation").val());
					//设置value为England为选中项
					$("#nation").val("England");
					alert($("#nation").val());
					//设置索引值最大的option为选中项
					$("#nation option:last").attr("selected",true);
					alert($("#nation").val());
					//设置索引值最小的option为选中项
					$("#nation option:first").attr("selected",true);
					alert($("#nation").val());
					//7.添加一个国家选项
					$("#nation").append("<option value='Ukraine'>乌克兰</option>");
					//8.删除一个国家选项
					//删除value="Italy"的选项 
					$("#nation").find("option[value='Italy']").remove(); 
					//删除索引为2的选项 
					$("#nation").find("option[index=2]").remove(); 
				});
			});
		</script>
	</body>
</html>

 

参考文章:http://www.jb51.net/article/30577.htm

http://blog.csdn.net/nairuohe/article/details/6307367


http://www.niftyadmin.cn/n/1316949.html

相关文章

探究传输协议TCP与UDP与实现

目录TCP与UDP二者的特点TCP有连接序列号和确认应答重发控制重发超时如何确定连接管理字节流&#xff08;顺序控制&#xff09;TCP以段为单位发送数据TCP所属的TCP/IP协议栈&#xff1a;端口标识实现基于TCP的服务端/客户端TCP服务端默认函数调用顺序套接字HelloWorld服务端TCP客…

Etcd源码分析-存储2

说实话&#xff0c;上一篇写的时候压力很大&#xff0c;不知道如何介绍代码流程&#xff0c;才能把存储过程说的清清楚楚&#xff1f;所以后来决定再写一篇&#xff0c;以etcdctl命令行为切入口&#xff0c;层层深入。 一、存储数据结构 Etcd是存储有如下特点&#xff1a; 1、…

Effective C++ -----条款22:将成员变量声明为private

切记将成员变量声明为private。这可赋予客户访问数据的一致性、可细微划分访问控制、允诺约束条件获得保证&#xff0c;并提供class作者以充分的实现弹性。 protected并不比public更具有封装性。转载于:https://www.cnblogs.com/wen-ge/p/4326547.html

Etcd源码分析-存储3

Etcd是分布式存储系统&#xff0c;当leader有数据变化&#xff0c;要及时更新到其他节点&#xff0c;这里就涉及到数据同步。 一、数据同步 上一篇介绍&#xff0c;Etcd接收到客户端的请求&#xff0c;会把相关数据传递到Raft状态机中&#xff0c;那么进入状态机之后如何处理呢…

停止使用循环,用underscore优雅的写代码

你一天&#xff08;一周&#xff09;内写了多少个循环&#xff1f; var i; for(i 0; i < someArray.length; i) {var someThing someArray[i];doSomeWorkOn(someThing); } 这当然无害&#xff0c;但这种写法非常丑而且奇怪&#xff0c;这也不是真正需要抱怨的。但这种写法…

封装keyframes插件

模仿jquery&#xff0c;使用简单&#xff0c;自动添加浏览器前缀 1 var keyframes new SHBKerframes(); 2 keyframes.define([{ 3 name:myAnimate, 4 0%:{width:100px;height:100px;transform:scale(1);} 5 100%:{width:100px;height:100px;transform:scale(2);} …

Etcd源码分析-数据字典

channel名称 写入 读取 作用 EtcdServer->readych chan struct{} 文件&#xff1a;etcdmain/etcd.go 方法&#xff1a;startEtcd 变量&#xff1a;e.Server.ReadyNotify 表示加入集群 EtcdServer->done 文件&#xff1a;etcdmain/etcd.go 方法&#xff1a;…

Spring JMS 消息处理-基于JNDI

Spring JMS 把企业消息处理变得轻而易举&#xff0c;本文将使你快速了解使用Spring JMS框架和IBM WebSphere MQ7.5.0.2进行JMS消息处理的基础知识。 JMS PG 定义了 Java 应用程序通过面向消息的中间件&#xff08;MOM&#xff09;创建和交换消息的标准途径&#xff0c;下面将使…