• #Java Web累积#JS动态加载所有同name的select的option


     
    项目需求:
      某一页面,页面使用多列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> ");
      }

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

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

  • 相关阅读:
    Web 2.0网站命名的7个建议
    梦猪课堂视频系列
    计算机英文术语完全介绍
    PPT高手的思路
    在线RSS阅读器大比拼
    【百度现有服务】
    转载VFW编程实例(详)
    实现MFC扩展DLL中导出类和对话框 (转)
    Windows下编译 OpenSceneGraph(转)
    OSG静态编译 (转)
  • 原文地址:https://www.cnblogs.com/Sanje3000/p/6587555.html
Copyright © 2020-2023  润新知