jquery自動填充勾選框,即把勾選框打上(true),然後通過ajax方式獲得勾選項列表,再把列表內的選項打上
jquery自動填充勾選框,即把勾選框打上(true),然後通過ajax方式獲得勾選項列表,再把列表內的選項打上。 代碼如下: 下拉框<select name="makemodule" id="makemodule" style='width:130px' onchange='makemoduleSelected()'> <option value='1'>1</option> </select> select改變,觸發函數makemoduleSelected(),該函數如下: 代碼如下: //模板下拉框發生變化時,觸發此事件(onchange)。 function makemoduleSelected(){ clearAll('property'); var modtitlecode = $("#makemodule").val(); $.ajax({ url : 'indexStatisticsAction_getSelect.jsp', data: { page:'clientindexStatistics.jsp',method:'get_subname_en',modtitlecode:modtitlecode}, success : function(result){ // 根據result返回信息判斷是否登錄成功 var results = result.split(","); //document.getElementById(results[i]).checked = true; $(".indexStatistics").each(function(){ $(this).find("input").each(function(){ var tempVal = $(this).val(); for(var i=0; i<results.length; i++){ if(tempVal == results[i]) $(this).attr("checked", true); } }); }); } }); } 該函數通過ajax方式向indexStatisticsAction_getSelect.jsp發出請求,返回一個字符串,把改字符串分開成字符串數組,接下來遍歷標簽<div class="indexStatistics">下面的標簽,遇到相關的標簽,則打鉤(true)。indexStatisticsAction_getSelect.jsp的相關代碼如下: 代碼如下: //獲取模板對應的指標 if(method.equals("get_subname_en")){ String modtitlecode = request.getParameter("modtitlecode"); if(modtitlecode.equals("-------")) return; String sql = sql2.replace("?modtitlecode?",modtitlecode); sql = sql.replace("?userId?",userId); System.out.println(sql); StringBuffer subnames = new StringBuffer(); Db db = new Db(); try { db.prepareQuery(); ResultSet rs = db.executeQuery(sql); while (rs!=null && rs.next()) { subnames.append(rs.getString("subname_en")); subnames.append(","); } rs.close(); } catch (Exception e) { e.printStackTrace(); } finally { db.endQuery(); } PrintWriter pout = response.getWriter(); pout.write(subnames.toString().substring(0,subnames.length()-1)); pout.flush(); pout.close(); }