项目需求:
  某一页面,页面使用多列table,每个table中有同相同的<select>,select的option不确定,根据Server端的配置来,所以option需要动态加载;

以“provServicevalueSel”为列子;
在JSP中:
一,JSP中,启动读取session:
<script type="text/javascript">
var provType2List =<%=session.getAttribute("provType_2_list") %>;
</script> .......................
<body>
.......................

  <select class="cell4_item_2 forClear" autocomplete="off" name = "provServicevalueSel"">
  </select>

........................
</body>
........................

二,检查数据:页面加载后,JS中自动启动数据检查。

    若Session中没有数据,启动数据请求;若有数据,则使用数据填充option;

window.onload=function(){

    //加载列表
loadAnalysisConfigList={
initProvServiceData:function()
{
if(provType2List && provType2List.length > 1)
{
RefreshProvValue(provType2List);
initData();
}
else
{
GetProvListByType("2");
}
}
} loadAnalysisConfigList.initProvServiceData();
}

三,填充option; 以”

//provServicevalue refrush
function RefreshProvValue(provTypeList)
{
if(!provTypeList)
{
return;
} $("select[name='provServicevalueSel']").each(function(n)
{
var provValuesel = $(this);
provValuesel.find("option").remove(); for(var i=0;i < provTypeList.length; i++)
{
provValuesel.append("<option value='"+ provTypeList[i].id+"'>"+ provTypeList[i].name +"</option>");
}
});
}

或者

function RefreshProvValue(provTypeList)
{
  if(!provTypeList)
  {
   return;
  }
  var optionList = "";
  for(var i=0;i < provTypeList.length; i++)
  {
    optionList += ("<option value='"+ provTypeList[i].id+"'>"+ provTypeList[i].name +"</option> \n");
  }

  var provSelArray = document.getElementsByName("provServicevalueSel");   
  for(var iDex = 0; iDex < provSelArray.length; iDex ++)   
  {     
    provSelArray[iDex].innerHTML = optionList;
  }
}

备注:效果是可以的,只是不知道这样写有没有什么不好,后边再巩固吧。

#Java Web累积#JS动态加载所有同name的select的option的更多相关文章

  1. 记录Js动态加载页面.append、html、appendChild、repend添加元素节点不生效以及解决办法

    今天再优化blog页面的时候添加了个关注按钮和图片,但是页面上这个按钮和图片时有时无,本来是搞后端的,被这个前端的小问题搞得抓耳挠腮的! 网上各种查询解决方案,把我解决问题的艰辛历程分享出来,希望大家 ...

  2. js动态加载以及确定加载完成的代码

    利用原生js动态加载js文件到页面,并在确定加载完成后调用相关function var otherJScipt = document.createElement("script") ...

  3. js动态加载css文件和js文件的方法

    今天研究了下js动态加载js文件和css文件的方法. 网上发现一个动态加载的方法.摘抄下来,方便自己以后使用 [code lang="html"] <html xmlns=& ...

  4. ie6,7下js动态加载图片不显示错误

    ie6,7下js动态加载图片不显示错误 先描述一下出现这种匪夷所思bug的背景: 我在页面加载的时候加载一堆小缩略图,<a href="javascript:void(0);" ...

  5. js动态加载js css文件,可以配置文件后辍,防止浏览器缓存

    js的引用,在浏览器,或微信上访问经常会遇到文件改了,但就是没有更新的问题,使用此函数可以轻松解决缓存问题只需要把js的引用方式改为使用此函数加载即可 源码如下: /** * js动态加载js css ...

  6. 【译】12. Java反射——类的动态加载和重新加载

    原文地址:http://tutorials.jenkov.com/java-reflection/dynamic-class-loading-reloading.html 博主最近比较忙,争取每周翻译 ...

  7. js动态加载数据并合并单元格

    js动态加载数据合并单元格, 代码如下所示,可复制直接运行: <!DOCTYPE HTML> <html lang="en-US"> <head> ...

  8. java web eclipse中项目的加载过程

    java web eclipse中项目的加载过程: Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF ...

  9. JS 动态加载脚本 执行回调

    JS 动态加载脚本  执行回调 关于在javascript里面加载其它的js文件的问题可能很多人都遇到过,但很多朋友可能并不知道怎么判断我们要加载的js文件是否加载完成,如果没有加载完成我们就调用文件 ...

随机推荐

  1. 從 kernel source code 查出 版本號碼

    kernel/Makefile 1 VERSION = 4 2 PATCHLEVEL = 4 3 SUBLEVEL = 21 4 EXTRAVERSION = 5 NAME = Blurry Fish ...

  2. ktime使用例子【原创】

    #include <linux/kernel.h>#include <linux/init.h>#include <linux/module.h>#include ...

  3. python 判断文件的创建时间和当前时间的比较

    import os import time import datetime filePath=r"C:\pyweibo\cookies5673210223" ctime=os.pa ...

  4. 【LA3882】And then there was one

    做sb题也是一种乐趣,是吧…… #include<bits/stdc++.h> #define N 10005 using namespace std; int f[N],m,n,k; i ...

  5. [ python ] 查询数据库生成Excel并发送邮件

    开发要求: 由于管理后台导出数据非常缓慢,找程序员解决无果后,自己动手写了一个脚本,每天定时将报表发送给业务部门. 1. 通过条件查询MySQL获取数据       2. 将获取的数据写入到Excel ...

  6. Leetcode 之Binary Tree Inorder Traversal(43)

    树的中序遍历.先不断压入左结点至末尾,再访问,再压入右结点.注意和先序遍历的比较 vector<int> inorderTraversal(TreeNode *root) { vector ...

  7. python 字典value排序

    #!/usr/bin/env python#coding:utf-8s = {“a”:1,”b”:3,”c”:2} print sorted(s.iteritems(),key=lambda t:t[ ...

  8. git在window与linux的换行符问题

    1:背景.我win7,后端是win10,使用了TortoiseGit工具.我使用ssh,他使用http.仓库是在linux,使用gitLab管理 2:问题.仓库是总监之前建好的.后端把文件add后pu ...

  9. SGU 263. Towers

    各种操作: put x c:表示在第 x 列上增加 c 个积木(c>0). tput t x c:表示在塔 t 的第 x 列上增加 c 个积木(c>0). towers:询问共有几座塔. ...

  10. Linux上安装MongoDB

    使用本教程使用.rpm 软件包在红帽企业Linux或CentOS Linux版本6和7上安装MongoDB Community Edition . 平台支持 本安装指南仅支持64位系统.详细信息请参见 ...