<pre name="code" class="java">

jsp 中的下拉框标签:


<s:select name="sjx" id="sjx" list="sjxList" listKey="BM" listValue="MC" size="20" cssStyle="width:100%;height:70px; border:0" multiple="true"></s:select>
<pre name="code" class="html">
multiple="true"意思是支持选择多个。

js中灵活创建select标签下的项的方式:
var oSelect = $("sjx");<span style="white-space:pre">					//sjx为html或jsp页面上的select标签的id,假设使用Extjs的话,能够用EXT.getDom('sjx')获取标签
var oOption = document.createElement("OPTION"); //js中创建select标签下的OPTION子标签
oSelect.options.add(oOption);<span style="white-space:pre"> //将新建的OPTION子标签加入到select标签下
oOption.value = "001";<span style="white-space:pre"> //内容相应的value值
oOption.innerHTML ="小苹果";<span style="white-space:pre"> //显示的下拉框的内容
...以此类推
Note:js中的这样的方式。在特定的场合是比較实用的,比方:这里请求不返回特定界面。也就是不刷新整个界面。

而是採用Ajax方式的异步请求做一些局部的数据请求,那么这个时候以下strut2的方式,就会无效。

<pre name="code" class="java"><pre name="code" class="java">for(...){
HashMap<String,Object> map = new HashMap<String,Objcet>();
map.put("BM","001");
map.put("MC","小苹果");
sjxList.add(map);
}
第二种方式,也是很经常使用的:利用struts2的特性,在Action中定义一个List<Object>变量(以本例为例,命名为:sjxList)。并设置set、get方法。
通过一个 HashMap 对象,加入内容,比方: 
</pre>返回界面时,将在界面的select下拉框中显示“小苹果”。
</pre><pre code_snippet_id="487056" snippet_file_name="blog_20141017_5_1612209" name="code" class="javascript"><pre name="code" class="html">最简单的一种方式:
直接在jsp页面手动加入select标签的OPTION项
<html>
<body>
<form>
<select id="cars" name="cars">
<option value="volvo">Volvo</option>
<option value="binli">Binli</option>
<option value="mazda" selected="selected">Mazda</option>
<option value="audi">Audi</option>
</select>
</form>
</body>
</html>

删除select标签节点下全部的OPTION节点

方法一:

    function DeleteOptions()
{
var obj = document.getElementsByTagName("select")[0];
var selectOptions = obj.options;
var optionLength = selectOptions.length;
for(var i=0;i <optionLength;i++)
{
obj.removeChild(selectOptions[0]);
}
}

方法二:(那右边的Select中的全部option移到左边的Select)

    function MoveAllRightBtn(){
var columnlength=$('queryColumn').length;
var TempText;
var TempValue;
for(var i=0;i<columnlength;i++){
TempText=$('queryColumn').options[i].text;
TempValue=$('queryColumn').options[i].value;
$('queryColumn').remove(i);
$('SearchqqueryColumn').options.add(new Option(TempText,TempValue));
}
}

以上两个方法都不够好!由于它们一次性都冊除不了,由于删除了一个它的$('queryColumn')在option的序号就变了!

简单最优的方法例如以下:(仅仅需将length置0)

  1.     $('SearchqqueryColumn').options.length = 0;

    <script>
function clearOption()
{
document.getElementById("testSelect").options.length = 0;
}
</script>

(那右边的Select中的全部option移到左边的Select)实现例如以下:

function MoveAllRightBtn(){
var columnlength=$('queryColumn').options.length;
var TempText;
var TempValue;
for(var i=0;i<columnlength;i++){
TempText=$('queryColumn').options[i].text;
TempValue=$('queryColumn').options[i].value;
$('SearchqqueryColumn').options.add(new Option(TempText,TempValue));
}
$('queryColumn').options.length = 0;
}

js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点的更多相关文章

  1. 在js中拼接<a>标签,<a>标签中含有onclick事件,点击无法触发该事件

    我们在<a>标签中添加事件一般是onclick="editUser()" 这样添加,在html页面上是行的通的 但是如何你是在js中拼接<a>标签并在< ...

  2. Three.js中的div标签跟随(模型弹框)

    目录 Three.js中的div标签跟随(模型弹框) 参考官方案例 核心渲染器 用法 注意事项 Three.js中的div标签跟随(模型弹框) 参考官方案例 核心渲染器 three.js-master ...

  3. springboot下html的js中使用shiro标签功能

    在js中直接使用shiro标签是不行的 比如 下面有个小技巧

  4. 【翻译】在Ext JS中创建特定主题的重写

    Ext JS提供了大量的功能来使类的创建和处理变得简单,还提供了一系列的功能来扩展和重新现有的Javascript类.这意味着可以为类添加行为和创建属于自己的类,或者重写某些函数的行为.在本文,将展示 ...

  5. js中的script标签属性

    HTML <script> 元素用于嵌入或引用可执行脚本. 在html中插入一个script标签 <script src="index.js" sync cros ...

  6. js中创建命名空间的几种写法

    在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hel ...

  7. JS中创建多个相同的变量出现的问题

    在做轮播图的时候出现了一个问题:如果定义两个完全相同的变量会发生什么: 1.两个全局变量: var num = 10; var num =100; 这种情况下很明显输出num的话会是100,但是内存中 ...

  8. 在js中创建命名空间的几种写法

    在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子:   var sayHello = function() { return 'H ...

  9. 在html中创建自定义标签

    创建并使用自定义标签 Web Components 标准非常重要的一个特性是,它使开发者能够将HTML页面的功能封装为 custom elements(自定义标签),本篇介绍使用 CustomElem ...

随机推荐

  1. 对Thymeleaf的一些笼统介绍和理解

    (随手记录的,,可能没那么易看,sorry le) 先大概介绍一下关于Thymeleaf的概念和理解:首先Thymeleaf模板引擎(换句话说他是现代服务器端的Java模板引擎,) 他所对应的主要作用 ...

  2. 10,*args **kwargs 函数的命名空间。

    用户传入到函数中的实参数量不定时,或者是为了以后拓展, 此时要用到动态参数*args,**kwargs(万能参数.) *args(接受的是所有的位置参数) 以元组的形式返回给函数调用者. **kwar ...

  3. 学习笔记6——插件 API,“过滤器”(Filters)和“动作”(Actions)

    WordPress 中有一种叫执行挂勾的机制,允许插件把一些功能“挂载”到 WordPress 当中.也就是说,在系统运行至某一个环节时,去调用插件内的一些函数.执行挂勾分为两种: 动作 (Actio ...

  4. Flutter 发布APK时,release版本和debug版本的默认权限不同

    Flutter 发布APK时,release版本和debug版本的默认权限不同 @author ixenos 在调试模式下,默认情况下启用服务扩展和多个权限(在flutter中) 当您处于发布模式时, ...

  5. 83. Spring Boot 1.4单元测试【从零开始学Spring Boot】

    在[27. Spring Boot Junit单元测试]中讲过1.3版本的单元测试方式,这里说说1.4和1.3有什么区别之处? 在1.3中单元测试这样子的类似代码: //// SpringJUnit支 ...

  6. CSS相对布局和绝对布局

    relative 相对布局,正常的,从上到下.绝对布局absolute,就像不占位置,透明了一样,会和别的重合

  7. [BZOJ4992] [Usaco2017 Feb]Why Did the Cow Cross the Road(spfa)

    传送门 把每个点和曼哈顿距离距离它3步或1步的点连一条边,边权为3 * t + a[x][y] 因为,走3步,有可能是3步,也有可能是1步(其中一步拐了回来) 最后,把终点和曼哈顿距离距离它1步和2布 ...

  8. hdu 2713

    #include<stdio.h> #include<string.h> int map[151000][2]; int max(int a,int b) {  return ...

  9. bzoj2648/2716 kdtree

    SJY摆棋子 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 5199  Solved: 1813[Submit][Status][Discuss] D ...

  10. 【bzoj1483】[HNOI2009]梦幻布丁 set

    [bzoj1483][HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2 ...