- 浏览: 787238 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (981)
- javascript (102)
- java (212)
- JQuery (81)
- 幽默笑话 (2)
- 只言片语 (6)
- 开发小记 (283)
- Hibernate (17)
- DWR (4)
- SQL (10)
- spring-ibatis (8)
- linux (24)
- Struts1 (8)
- Struts2 (16)
- spring (42)
- Mybatis (16)
- css (18)
- servlet (8)
- jdbc (4)
- jsp (1)
- spring-jdbc (2)
- FreeMarker (2)
- MySQL (24)
- JQuery-Grid (7)
- jstl (5)
- 正则表达式 (1)
- 面试集锦 (86)
- unix (18)
- 开发工具 (23)
- ajax (5)
- webservice (4)
- log4j (3)
- oracle (15)
- extjs (14)
- 其他 (9)
- 优秀技术参考地址 (1)
- 性能 (3)
- 数据库 (25)
- 算法 (15)
- 设计模式 (10)
- Python (3)
- AIX (5)
- weblogic (1)
- shell (14)
- quartz (5)
- 图形文件FusionCharts (1)
- Websphere (4)
- 转载 (5)
- hadoop (1)
- highchart (24)
- perl (22)
- DB2 (7)
- JBoss (1)
- JQuery Easy UI (9)
- SpringMVC (5)
- ant (5)
- echart (9)
- log4J配置 (3)
- 多线程 (10)
- 系统架构 (7)
- nginx (3)
- loadrunner1 (1)
- 分布式 (1)
- Dubbo (1)
- Redis (2)
- JMS (4)
- 自动化测试 (3)
- Spring循环依赖的三种方式 (1)
- spring-boot (2)
- 高级测试 (9)
- github (2)
- sonar (1)
- docker (6)
- web前端性能优化 (1)
- spring-aop (6)
- rabbit (1)
- ELK (1)
- maven (1)
- minio (1)
最新评论
-
zengshaotao:
jstl1point0 写道很好啊,如果有带Session会话 ...
Nginx+Tomcat搭建高性能负载均衡集群 -
jstl1point0:
很好啊,如果有带Session会话的怎么搞呢
Nginx+Tomcat搭建高性能负载均衡集群
<select name="bigclass" id="id"
<option value="" selected="selected">南昌</option>
<option value="4">上饶</option>
</select>
document.getElementById("id").options[document.getElementById("id").selectedIndex].text
一、新增一个option
var sel=document.getElementById("select的id");
var op=document.createElement("option");
op.value=值;
op.text=显示文本;
sel.add(op);
二、删除一个option
var sel=document.getElementById("typelist");
if(sel.selectedIndex==-1)
alert("请选中要删除的项!");
for(var i=0;i<sel.options.length;i++){
if(sel.options[i].selected){
sel.options.remove(i);
break;
}
}
三、清空select的所有option
var citySel=document.getElementById("select的id");
citySel.options.length=0;
四、获得选中项的值
var citySel=document.getElementById("select的id");
var selectedValue=citySel.value;
五、获得当前选中项的索引
var selectedIndex=document.all.objSelect.selectedIndex;
六、设置select的当前选中项
方法1(单个select): document.getElementById("products_type_id").selectedIndex=1;
方法2(级联select如省市级联):
var province_sel=document.getElementById("province");//获得省select
var city_sel=document.getElementById("city");//获得市select
for(var i=0;i<province_sel.options.length;i++){
if(province_sel.options[i].value=="从数据库获取的省的值"){
province_sel.options[i].selected=true;
break;
}
}
initCity("从数据库获取的省的值");//初始化市select
for(var i=0;i<city_sel.options.length;i++){
if(city_sel.options[i].value=="${city}"){
city_sel.options[i].selected=true;
break;
}
}
七、创建select动态设置选中项
var sel=document.getElementById("other_state");
var sel_val=document.getElementById("other_media_id").innerHTML;
for(var obj in data){
var id=data[obj]["other_media_id"];
var name=data[obj]["other_media_name"];
var op=document.createElement("option");
op.setAttribute("value",id);
op.appendChild(document.createTextNode(name));
if(id==sel_val){
op.setAttribute("selected","true");
}
sel.appendChild(op);
}
1、向Select里添加Option
function fnAddItem(text,value)
{
var selTarget = document.getElementById("selID");
selTarget.Add(new Option("text","value"));
}
2、删除Select里的Option
function fnRemoveItem()
{
var selTarget = document.getElementById("selID");
if(selTarget.selectedIndex > -1)
{//说明选中
for(var i=0;i<selTarget.options.length;i++)
{
if(selTarget.options[i].selected)
{
selTarget.remove(i);
i = i - 1;//注意这一行
}
}
}
}
3、移动Select里的Option到另一个Select中
function fnMove(fromSelectID,toSelectID)
{
var from = document.getElementById(fromSelectID);
var to = document.getElementById(toSelectID);
for(var i=0;i<from.options.length;i++)
{
if(from.options[i].selected)
{
to.appendChild(from.options[i]);
i = i - 1;
}
}
}
if 里的代码也可用下面几句代码代替
var op = from.options[i];
to.options.add(new Option(op.text, op.value));
from.remove(i);
4、Select里Option的向上移动
function fnUp()
{
var sel = document.getElementById("selID");
for(var i=1; i < sel.length; i++)
{//最上面的一个不需要移动,所以直接从i=1开始
if(sel.options[i].selected)
{
if(!sel.options.item(i-1).selected)
{//上面的一项没选中,上下交换
var selText = sel.options[i].text;
var selValue = sel.options[i].value;
sel.options[i].text = sel.options[i-1].text;
sel.options[i].value = sel.options[i-1].value;
sel.options[i].selected = false;
sel.options[i-1].text = selText;
sel.options[i-1].value = selValue;
sel.options[i-1].selected=true;
}
}
}
}
在进行上下两项互换时,也可以使用以下代码,但是效率很低,因为每一次的Dom操作都将导致整个页面的重新布局,所以不如直接修改元素的属性值。
var oOption = sel.options[i]
var oPrevOption = sel.options[i-1]
sel.insertBefore(oOption,oPrevOption);
向下移动同理
function fnDown()
{
var sel = fnGetTarget("selLeftOrRight");
for(var i=sel.length -2; i >= 0; i--)
{//向下移动,最后一个不需要处理,所以直接从倒数第二个开始
if(sel.options.item(i).selected)
{
if(!sel.options.item(i+1).selected)
{//下面的Option没选中,上下互换
var selText = sel.options.item(i).text;
var selValue = sel.options.item(i).value;
sel.options.item(i).text = sel.options.item(i+1).text;
sel.options.item(i).value = sel.options.item(i+1).value;
sel.options.item(i).selected = false;
sel.options.item(i+1).text = selText;
sel.options.item(i+1).value = selValue;
sel.options.item(i+1).selected=true;
}
}
}
}
5、Select里Option的排序
这里借助Array对象的sort方法进行操作,sort方法接受一个function参数,可以在这个function里定义排序时使用的算法逻辑。
array.sort([compareFunction]) 里compareFunction接受两个参数(p1,p2),sort操作进行时,array对象会每次传两个值进去,进行比较;compareFunciton必须返回一个整数值:当返回值>0时,p1会排在p2后面;返回值<0时,p1会排在p2前面;返回值=0时,不进行操作。
例如:
function fnCompare(a,b)
{
if (a < b)
return -1;
if (a > b)
return 1;
return 0;
}
var arr = new Array();
//add some value into arr
arr.sort(fnCompare);
//这里sort的操作结果就是arr里的项按由小到大的升序排序
//如果把fnCompare里改为
//if (a < b)
// return 1;
//if (a > b)
// return -1;
//return 0;
//则sort的结果是降序排列
好,下面就是对Select里Option的排序
//因为排序可以按Option的Value排序,也可以按Text排序,这里只演示按Value排序
function sortItem()
{
var sel = document.getElementById("selID");
var selLength = sel.options.length;
var arr = new Array();
var arrLength;
//将所有Option放入array
for(var i=0;i<selLength;i++)
{
arr[i] = sel.options[i];
}
arrLength = arr.length;
arr.sort(fnSortByValue);//排序
//先将原先的Option删除
while(selLength--)
{
sel.options[selLength] = null;
}
//将经过排序的Option放回Select中
for(i=0;i<arrLength;i++)
{
sel.add(new Option(arr[i].text,arr[i].value));
}
}
function fnSortByValue(a,b)
{
var aComp = a.value.toString();
var bComp = b.value.toString();
if (aComp < bComp)
return -1;
if (aComp > bComp)
return 1;
return 0;
}
排序时还可以有更多选项,比如将value值看做Integer或是String进行排序,得到的结果是不一样的。
发表评论
-
javascript与日期的相关操作
2018-01-08 17:02 335Js获取当前日期时间及其它操作 var myDate ... -
面向对象
2017-08-24 17:31 478var objPro = { name:"zst ... -
两次encodeURI和URLDecode的原理分析
2017-08-24 12:15 4047当使用地址栏提交查询参数时,如果不编码,非英文字符会按照操 ... -
encodeURI
2017-08-14 21:29 525对于ajax请求,经常会在地址栏传入一些参数,涉及的中文的, ... -
encodeURL
2017-05-04 18:10 538.encodeURL函数主要是来对URI来做转码,它默认是采 ... -
cookie操作 JQuery
2017-03-23 22:18 519首先包含jQuery的库文件,在后面包含 jquery.coo ... -
表单参数一并提交
2017-03-23 13:09 565对于一般的table数据,并且还带有查询条件,我们都会使用j ... -
功能参考
2016-09-12 17:48 462<%@ page language="jav ... -
树形节点设权重,叶子节点设权重
2016-08-19 12:01 1122<%@ page language="jav ... -
除去缓存
2016-08-11 17:04 378IE的showModalDialog方法,缓存很是头疼 ... -
event.srcElement
2016-07-22 16:51 518因为页面的显示内容需要动态生成,所以难免有一些字符串的拼接, ... -
三重循环部分
2016-07-01 11:44 489一串json数据data,格式形如: {{WDNAME:A ... -
base href, new Highchart.Chart()
2016-05-27 17:35 572<% String path = request.g ... -
鼠标点击的位置,滚动条,兼容
2016-05-19 15:58 624j经常要计算鼠标当前点击的位置,并且页面经常发生了滚动。这个 ... -
表单提交页面不跳转
2016-04-05 19:38 975页面发生表单不跳转,我们可以ajax的形式 当然,有 ... -
HTML图片热区map area的用法
2016-01-04 14:56 547HTML图片热区map area的用法 <a ... -
获取页面高度
2015-12-15 10:26 456$(document).height() //是获取整个页 ... -
iframe中子父窗口互调的js方法
2015-11-12 18:12 934一、父窗口调用iframe子窗口方法 1、HTML语法:&l ... -
数组去重
2015-10-30 08:38 532//将一个含有相同值的数组去重 function getD ... -
dtree树构建
2015-09-15 15:19 464dTree 主页:http://destroydrop.co ...
相关推荐
在网页设计中,`<select>` 标签用于创建下拉列表,但其默认样式往往不符合现代网页的美观要求。为了提升用户体验并保持与原始HTML`<select>` 标签的功能兼容性,开发者通常会使用自定义样式来美化下拉菜单。本主题...
自制的jquery插件,只需要一行代码,即可将select控件变成一个即可以输入也可以选择的元素,输入时也会有智能提示。对原来的select的操作完全没有改变,取值依然是取select的值,设置选中,添加项删除项等等都没有...
监听select选择 form.on('select(filter)', function(data){ console.log(data.elem); //得到select原始DOM对象 console.log(data.value); //得到被选中的值 console.log(data.othis); //得到美化后的DOM对象 })...
在网页开发中,选择框(`<select>`)通常用于让用户在预设的选项中进行选择。然而,标准的HTML `select` 元素并不支持直接编辑,即用户无法自由输入新的选项。为了提供这种功能,开发者通常会利用JavaScript库来实现...
本文将详细介绍Select2及其相关文件`select2.min.js`和`select2.min.css`,以及它们如何在项目中发挥重要作用。 Select2是一款强大的JavaScript库,它能够将普通的HTML `<select>`元素转变为功能丰富的选择器。通过...
1. Select2:Select2 是一个流行的jQuery插件,它不仅提供了搜索功能,还有分页、多选、远程数据加载等功能。示例代码如下: ```html <select class="select2" style="width: 100%;"> <option value="option1">...
《基于Select2与jQuery-ZTree实现的树形下拉框详解》 在现代网页开发中,用户界面的设计和交互体验愈发重要。一个优秀的界面能够提升用户的操作效率,增强产品的吸引力。今天,我们将深入探讨如何利用Select2和...
在网页开发中,`select`下拉框是常见的用户交互元素,用于提供一系列选项供用户选择。然而,随着用户体验需求的提升,单纯的下拉选择已无法满足所有场景,特别是当选项众多时。为了提高用户的操作效率,我们常常需要...
**jQuery Select2组件详解** `jQuery Select2`是一款强大的、高度可定制的下拉选择框插件,它在原生HTML `<select>` 元素的基础上提供了丰富的功能和优秀的用户体验。这款组件广泛应用于网页开发中,使得传统的单选...
在本示例中,我们将探讨如何使用jQuery实现“select”元素的互斥联动效果,这是一种常见的表单控件交互设计,常用于多级筛选或配置场景。 一、基本概念 1. jQuery:jQuery 是一个高效、简洁而易用的JavaScript库,...
以下是一个关于如何在`<select>`和`<option>`中添加自定义图片的详细教程。 首先,我们需要理解HTML基础。`<select>`元素创建一个可选列表,用户可以选择其中的一个或多个选项。`<option>`元素定义了下拉列表中的一...
**Select2插件详解** Select2是一款非常流行的JavaScript库,基于jQuery设计,它的主要目标是为HTML中的`<select>`元素提供一个强大的替代方案。在网页开发中,原生的`<select>`元素功能有限,样式单一,而Select2...
《XM-SELECT:一款高效实用的多选下拉框插件》 在Web开发中,Select组件是不可或缺的一部分,尤其在处理多选场景时,它的便捷性和灵活性显得尤为重要。XM-SELECT就是这样一款专为解决多选问题而设计的插件,它以其...
在LayUI中,TableSelect是一个强大的组件,它结合了表格与下拉选择框的功能,提供了更丰富的交互体验。这个组件在JavaScript开发中特别适用于处理数据表中的选择操作,尤其是在需要对多选数据进行管理的场景下。 ...
下拉多选插件ySelect.js.rar 下拉多选插件ySelect.js.rar 下拉多选插件ySelect.js.rar 下拉多选插件ySelect.js.rar 下拉多选插件ySelect.js.rar 下拉多选插件ySelect.js.rar 下拉多选插件ySelect.js.rar 下拉多选...
在Web开发中,模拟select元素的点击事件是一项常见的需求,尤其是当我们希望在不直接与页面交互的情况下改变选项值时。本文将通过实例讲解来阐述如何在使用layui框架的情况下,模拟select的点击事件。 ### 标题知识...
<select id="bs3Select" class="selectpicker show-tick form-control" multiple data-live-search="true"> <option>cow <option>bull <option class="get-class" disabled>ox </select> ``` 在页面加载完成后,...
在现代网页设计中,select下拉列表是实现用户交互的一项基本元素,但在不同的浏览器中,其样式表现差异较大,且在自定义样式方面存在限制,尤其是无法完全通过CSS控制其外观。随着Web标准的推进,浏览器厂商对HTML...
接下来,通过jQuery代码调用Select2插件,对特定的select元素进行初始化。在这个过程中,我们设置了几个关键的配置选项。"placeholder"用于给select元素提供一个默认的提示信息,"tags"允许用户输入自定义的选项,...
在网页开发中,`<select>`元素通常用于创建下拉列表,但它的功能相对有限,不支持用户自定义输入或实时搜索。为了增强用户体验并提供更丰富的交互性,开发人员通常会利用JavaScript库或插件来扩展这个基本的HTML元素...