zoukankan      html  css  js  c++  java
  • Jquery调用Ajax实现联动使用json

    在很多时候我们都会使用到联动。jquery.js是一个不错的js框架。其ajax也挺不错。下面将实现一个js联动:选择公司出来受益人。根据公司不同受益人不同。

    前提是:你用引入jquery.js

    <script language="javascript" src="../js/jquery-1.4.4.min.js"></script>

    页面JS:

    // 更换公司
    function changeCompany(company_name){
       var id_beneficiaryObj = $("#id_beneficiary");  
       var date_belong = $("#date_belong").val();
       id_beneficiaryObj.empty();        // 清空  
       id_beneficiaryObj.prepend("<option value=''>请选择</option>"); 
       
       $.ajax({  
           type: "POST",  
           dataType: "json",  
           url: "beneficiary_um_action.jsp",  
           data: { tabid: "selectCompanyUser",
                      company_name: company_name, 
                      date_belong: date_belong
                    },  
           success: function (data) {   
               $.each(data, function (i, n) {  
                       // 追加项
                   id_beneficiaryObj.append("<option value=" + n.id_beneficiary + ">" + n.beneficiary_name + "</option>");  
               });  
           }  
       });  
    }

    页面html:

      <tr>
          <td width="20%" align="center">公司名称</td>
        <td >
          <select name = "company_name" id="company_name" onchange="changeCompany(this.value);">
              <option value="">合计</option>
              <c:if test="${not empty dateBelongList }">
                  <c:forEach var="company" items="${companyList }">
                     <option value="<c:out value='${company.company_name }' />"><c:out value='${company.company_name_name }' /></option>
                 </c:forEach>
              </c:if>
          </select>
        </td>
        <td width="20%" align="center">受益人</td>
        <td >
          <select name="id_beneficiary" id="id_beneficiary">
              <option value="">请选择</option>
          </select>
        </td>
      </tr>

    请求联调数据的java类 beneficiary_um_action.jsp:

    if ("selectCompanyUser".equals(tabid)) 
    {
        if (!StringUtil.isEmpty(company_name))
        {
    
            String id_um = (String)session.getAttribute(CommonConstants.USER_ID);
            String jsonString = beneficiaryUmDAO.getBeneficiaryInfoByCompanyName(company_name, id_um);
            response.getWriter().write(jsonString);
        }
        return;
    }

    beneficiaryUmDAO:

    /**查询_根据公司名称所属年月查询公司下受益人信息
         * 
         * @param company_name 公司名称
         * @param date_belong 所属年月
         * @return
         * @throws ServerException
         */
        public String getBeneficiaryInfoByCompanyName(String company_name, String id_um) throws ServerException {
            try {
                if (StringUtil.isEmpty(company_name))
                {
                    return null;
                }
                Map<String, Object> param = new HashMap<String, Object>();
                param.put("company_name", company_name);
                param.put("id_um", id_um);
                List<BeneficiaryInfo> beneficiaryInfoList = (List<BeneficiaryInfo>) sqlMapper.queryForList("select_BeneficiaryInfo_select", param);
                JSONArray jsonArray = new JSONArray();
                for (BeneficiaryInfo info : beneficiaryInfoList)
                {
                    JSONObject json = new JSONObject();
                    json.put("id_beneficiary", info.getId_beneficiary());
                    json.put("beneficiary_name", info.getBeneficiary_name());
                    jsonArray.put(json);
                }
                
                return jsonArray.toString();
            } catch (SQLException e) {
                throw new ServerException(e);
            }
        }

    就这样完成了。

  • 相关阅读:
    Hello TensorFlow 二 (GPU)
    Hello TensorFlow
    C/C++调用Golang 二
    C/C++调用Golang 一
    再谈cgo(转)
    Go语言第一深坑
    通过样式改变图片明暗度,不是透明度哦
    webpack vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin
    webpack打包报错Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
    [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
  • 原文地址:https://www.cnblogs.com/a393060727/p/3288381.html
Copyright © 2011-2022 走看看