`
悠悠晃晃
  • 浏览: 39984 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

通过一个文本框网select框添加内容,select框内容可排序

阅读更多
大致效果如图:


JS代码如下
function moveUp(obj){   
	for(var i=1; i < obj.length; i++){//最上面的一个不需要移动,所以直接从i=1开始  
		if(obj.options[i].selected){  
			if(!obj.options.item(i-1).selected) {  
				var selText = obj.options[i].text;  
				var selValue = obj.options[i].value;  
				obj.options[i].text = obj.options[i-1].text;  
				obj.options[i].value = obj.options[i-1].value;  
				obj.options[i].selected = false;  
				obj.options[i-1].text = selText;  
				obj.options[i-1].value = selValue;  
				obj.options[i-1].selected=true;  
			}  
		}  
	}  
}  
  

function moveDown(obj){  
	for(var i = obj.length -2 ; i >= 0; i--){//向下移动,最后一个不需要处理,所以直接从倒数第二个开始  
		if(obj.options[i].selected){  
			if(!obj.options[i+1].selected){  
				var selText = obj.options[i].text;  
				var selValue = obj.options[i].value;  
				obj.options[i].text = obj.options[i+1].text;  
				obj.options[i].value = obj.options[i+1].value;  
				obj.options[i].selected = false;  
				obj.options[i+1].text = selText;  
				obj.options[i+1].value = selValue;  
				obj.options[i+1].selected=true;  
			}  
		}  
	}  
}  

function moveOption(obj1, obj2){  
	objValue = obj1.value;
	
	if(objValue==""){
		alert("请输入要添加的数据!");
		return false;
	}
	for(var i = 0; i< obj2.options.length; i++) {
		if(objValue==obj2.options[i].value){
			alert("该数据已经存在!");
			return false;
		}
	}
	var opt = new Option(objValue,objValue);  
	opt.selected = true;  
	obj2.options.add(opt);  
}

function delOption(obj1){  
	for(var i = obj1.options.length - 1 ; i >= 0 ; i--) {  
		if(obj1.options[i].selected){  
			obj1.remove(i);  
		}  
	}  
}


HTML代码部分,我是用了struts2标签的select框,你可以自己修改一下
<table>
          		<tr>
          			<td valign="top">
          				<s:select multiple="true" name="searchSite" list="searchSite" size="5" id="searchSite" cssStyle="width:200px;"></s:select>
          				<br/><font color="red">为空时搜索所有网站!</font>
          			</td>
          			<td valign="top">
	          			<input type="text" name="addSite" id="addSite" onblur="isDomain(this.value)"/><br/>
	          			<font color="red">例如:163.com</font><br/>
	          			<input value="添加" style="width: 70px;" type="button" onclick="moveOption(document.getElementById('addSite'),document.getElementById('searchSite'))"/>
	          			<input value="删除" style="width: 70px;" type="button" onclick="delOption(document.getElementById('searchSite'));"/><br/>
	          			<input value="上移" style="width: 70px;" type="button" onclick="moveUp(document.getElementById('searchSite'));"/>
	          			<input value="下移" style="width: 70px;" type="button" onclick="moveDown(document.getElementById('searchSite'));"/>
	          			
          			</td>
          		</tr>
          	</table>
  • 大小: 13.4 KB
0
8
分享到:
评论

相关推荐

    帆软:排序问题(通过帆软设置或者sql排序)

    2. **多字段排序**:在`ORDER BY`后可列出多个字段,通过逗号隔开,先按第一个字段排序,若相同则按第二个字段,以此类推。例如,`ORDER BY column1 ASC, column2 DESC`。 3. **动态排序**:在SQL中,还可以使用`...

    jQuery实现文本框自动补全

    jQuery Autocomplete工作原理是监听输入框的`keydown`、`keyup`或`input`事件,当用户在文本框中输入字符时,它会触发一个异步请求(通常是AJAX)到服务器,将当前的输入值作为查询参数发送。服务器根据这些参数返回...

    组合框的使用示例

    在软件开发中,组合框(ComboBox)是一种常见的界面元素,它提供了一个文本框和一个下拉列表,允许用户从列表中选择一个项目,或者在文本框中直接输入新的内容。本文档详细介绍了如何使用MFC(Microsoft Foundation ...

    MFC VC编程列表框,组合框,滚动条控件

    // 从文本框获取内容并添加到列表框 m ListBox.AddString(m TextBox.GetText()); } void CMyDialog::OnDeleteItemClick() { // 删除选定项 int index = m ListBox.GetCurSel(); if (index != LB_ERR) m ...

    带排序和筛选功能的DataGridView

    至于标题中提到的`DLL`,这可能是一个第三方库,如`DataGridViewAutoFilter`,它扩展了`DataGridView`的功能,提供了更丰富的筛选和排序选项。这类库通常会提供方便的API,简化开发过程。例如,`...

    数据库的增,删,改,查操作

    开发者可能通过一个表单收集用户输入,然后通过编程语言(如Java或Python)和SQL语句将这些信息插入到相应的数据库表中。 其次,“删”操作指的是从数据库中移除一条或多条记录。例如,如果用户不再需要某个联系人...

    C#各类控件的输入输出(思维导图、知识点分析、案例解析) c#经典案例.pdf

    * AppendText:将一个字符串添加到文本框的末尾。 * Clear:清除文本框中的所有文本。 * Focus:设置文本框的焦点。 * Copy:将文本框中的当前选定内容复制到剪贴板上。 * Cut:将文本框中的当前选定内容移动到剪贴...

    Struts2+API+标签全解+网页说明

    combobox标签:生成一个单选文本框和一个下拉列表框的组合。 doubleselect标签:生成一个相互关联的列表框,该标签由两个下拉选择框组成。 datetimepicker标签:生成一个日期、时间下拉列表框。 head标签:生成...

    冒泡排序-13-表单标签和标签元素标签.ev4.rar

    结合冒泡排序和表单标签,我们可以想象一个教学场景:一个网页教程可能包含一个交互式的冒泡排序演示,用户可以通过输入一组数字,然后通过表单提交,网页后端接收到数据后用冒泡排序算法对这些数字进行排序,并将...

    delphi部分学习笔记

    在Delphi的实践中,我们可以通过以下步骤创建一个简单的应用: 1. **启动Delphi环境**并创建新工程。 2. **保存工程**到指定路径,如UntListBox.pas和ListBox.dpr。 3. **设计界面**,在窗体上放置控件,如Edit、...

    Excel VBA实用技巧大全 附书源码

    01015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小...

    使用SQL语言实现数据动态查询 (1).pdf

    在设计动态查询时,可以利用表单和控件来获取用户的查询需求,设计一个用户的查询界面,通过文本框、列表框、复选框等控件, 由用户提供查询的需求,包括输出的查询列、查询条件以及涉及的数据库对象等。 然后,将...

    BootStrap 3.0 非常漂亮的后台模板框架

    3. `form-elements.html` 和 `form-multiselect.html`:这两文件与表单元素相关,前者可能包含了Bootstrap的各种输入控件,如文本框、复选框、单选按钮等,而后者可能是关于多选下拉框的实现,使用了如Select2或...

    2021-2022计算机二级等级考试试题及答案No.18388.docx

    2. 一对一联系:在数据库设计中,一对一联系是指一个实体(如学校)与另一个实体(如校长)之间存在一对一的关系,即每个学校只有一个校长,每个校长也只能对应一个学校。 3. 选择多个图标:在Windows操作系统中,...

    VB+SQL光盘信息管理系统(源代码+系统+答辩PPT).rar

    例如,一个简单的INSERT语句用于添加新的光盘记录,SELECT语句用于检索光盘信息,UPDATE语句用于修改已有的记录,而DELETE语句则用于移除不再需要的记录。同时,可能还使用了JOIN操作来联接多个表,以便进行更复杂的...

    ACCESS 双表自动查询数据(下拉列表框)

    通过上述步骤,我们能够构建一个交互性强且高效的双表自动查询系统。在ACCESS中,这样的设计不仅可以提高数据操作的便捷性,还能帮助用户快速找到所需信息,尤其适用于需要关联查询的业务场景。记得在实际应用中,要...

    Access单选题-窗体-参考答案[参考].pdf

    13. 获取组合框内容:组合框的内容可以通过值列表、从表或查询导入、自行键入等方式获取,但不能通过从另一组合框获取。第13题中,D选项是错误方式。 14. 创建控件:工具箱中的按钮用于创建标签控件,第14题和第1题...

    毕业设计--基于swing框架的KTV点歌系统

    在本项目中,我们关注的是一个基于Java Swing框架开发的KTV点歌系统。这个系统是作者的大学毕业设计,旨在为后续学生提供一个参考模型,帮助他们理解和完成类似的项目。Swing是Java的一个图形用户界面(GUI)工具包...

    combox tip

    `ComboBox`的基本结构通常包含一个文本框和一个下拉按钮。用户可以在文本框中查看或输入当前选中的项,点击下拉按钮则会展开一个列表供用户浏览和选择。这个列表通常包含了多个预先定义的选项,用户可以通过鼠标点击...

    DataGrid 查找排序

    对于查找功能,可以添加一个文本框让用户输入查找条件,然后在TextBox的TextChanged事件中进行筛选。以下是一个简单的示例: ```csharp textBox.TextChanged += (sender, e) =&gt; { string searchText = textBox....

Global site tag (gtag.js) - Google Analytics