ajax级联下拉框获取 字符切割方式

本文介绍了一个使用JSP和JavaScript实现的业务部门与项目经理级联选择功能。当选择业务部门后,通过Ajax请求从服务器获取对应部门的项目经理列表,并动态更新项目经理的选择框。涉及到的技术包括JSP页面展示、JavaScript/Ajax数据交互及Java后端处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jsp:

      <tr id="ywbm_tr" style="display: none">
       <td class="v_font01" width="20%">
        业务部门:
       </td>       
       <td><select name="flowPackSubInfo.branchId" id="branchId" οnchange="initManagerName(value)">
                  <option  value="">--请选择--</option>
                  <c:forEach items="${orgList}" var="posthx">
                     <option value="${posthx.id }"> ${posthx.orgName }</option>
                  </c:forEach>
                 </select>
       </td>
       
       <td class="v_font01">
        项目经理:
       </td>
       <td><select name="flowPackSubInfo.managerId" id="managerId" οnchange="toSaveManagerName(value)" οnclick="checkBranch()">
           <option  value="">--请选择--</option>
           <c:forEach items="${managerList}" var="managerL">
                     <option value="${managerL.id }"> ${managerL.name }</option>
                  </c:forEach>
                 </select>
       </td>
      </tr>

js:

function initManagerName(val){//val为级联时根据的字段 这里是部门id
 var obj = document.getElementById('branchId');
   
 var text = obj.options[obj.selectedIndex].text;
 $("#branchName").val(text);
 var f=document.forms[0];
 f.managerId.options.length=1;//设置下拉框长度 为1 是为了保留一个"请选择" 若无请选择 置0 为清空下拉框
 $.ajax({
   url: "${ctx}/flow/ajax_Get_projectManager.action",
   data: {"branchId":val},
   type: "POST",
   success:function(data){
    var classList=data.split("|");
            for(var i=0;i<classList.length-1;i++){
              var temp=classList[i].split(",");
              f.managerId.add(new Option(temp[1],temp[0]));
           }   
   }
  });
}

java:

public void ajax_Get_projectManager(){
  
  int branchId = Integer.valueOf(request.getParameter("branchId"));
  List managerList = new ArrayList();
  Org o = flowInstanceService.getOrg(branchId);
  Set<UserInfo> s = o.getUsers();
  String str = "";
  for(UserInfo user:s){
   Set<Role> t = user.getRoles();
   for(Role role : t){
    role.getIsDelete();
    if(role.getId()==70){
     if(user!=null){
      str += user.getId()+","+user.getName()+"|"; //拼接字符串方式
     }
    }
   }
  }
  try{
   response.setContentType("text/html; charset=UTF-8");
   response.getWriter().write(str);
  }catch(Exception e){
   e.printStackTrace();
  }
 }

xml:

        <action name="ajax_Get_projectManager" class="com..flow.action.FlowRunPrcsAction" method="ajax_Get_projectManager">
      <result name="success" type="stream"></result>
        </action>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值