Spring MVC中Ajax實現(xiàn)二級聯(lián)動的簡單實例

字號:


    下面小編就為大家?guī)硪黄猄pring MVC中Ajax實現(xiàn)二級聯(lián)動的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。
    今天寫項目遇到了二級聯(lián)動,期間遇到點問題,寫個博客記錄一下。
    后臺Controller:
    @RequestMapping("/faultType")
    @ResponseBody
    public Map<String,Object> faultType(int id,HttpServletRequest request)throws IOException
    {
    String ReturnMessage = "";
    //獲取所有子類故障類型
    List<FaultType> fauList=faultTypeService.getById(id);
    if(fauList.size()>0){
    request.setAttribute("childType", fauList);
    ReturnMessage = "OK";
    }else {
    ReturnMessage = "未找到信息";
    }
    //*************************************************************
    Map<String,Object> ReturnMAP = new HashMap<String,Object>();
    ReturnMAP.put("childType", fauList);
    return ReturnMAP;
    }
    前臺JSP:
    <div>
    <div>
    <label>
    故障類型: </label>
    <select name="faulttype" id="faulttype" onchange="javascript:typeChange()">
    <c:forEach items="${faultlist }" var="faulist">
    <option value="${faulist.faultId }">${faulist.faultContent }</option>
    </c:forEach>
    </select>
    </div>
    </div>
    <div>
    <div>
    <label>
    故障: </label>
    <input id="childTypeCont" name="childTypeCont"
    value="" type="hidden" placeholder="故障">
    <select name="faulttype1" id="faulttype1"">
    <option>--請選擇--</option>
    <c:forEach items="${childType }" var="faulist">
    <option value="${faulist.faultId }">${faulist.faultContent }</option>
    </c:forEach>
    </select>
    </select>
    </div>
    </div>
    JS:
    function typeChange(){
    var type=$("#faulttype").val();
    var html = "<option>--請選擇--</option>"; 
    var CommitUrl = "faultType.do?id=" + type;
    $.ajax( {
    type : "POST",
    contentType : "application/json",
    url : CommitUrl,
    dataType : 'json',
    success : function(result){
    var Curedata = $.extend(true, [], result); 
    if (Curedata.childType != null) { 
    for(var i=0;i<Curedata.childType.length;i++){
    html+="<option value='"+Curedata.childType[i].faultId+"'>"+Curedata.childType[i].faultContent+"</option>";
    }
    $("#faulttype1").empty();
    $(html).appendTo("#faulttype1") ;
    } }
    });
    }
    以下是引用別人寫的(原文地址:http://blog.csdn.net/gis__/article/details/6647464)
    記性不好的可以收藏下: 
    1,下拉框:
    var cc1  = $(".formcselect[@name='country'] option[@selected]").text();//得到下拉菜單的選中項的文本(注意中間有空格) 
    var cc2 = $('.formcselect[@name="country"]').val(); //得到下拉菜單的選中項的值 
    var cc3 = $('.formc select[@name="country"]').attr("id");//得到下拉菜單的選中項的ID屬性值 
    $("#select").empty();//清空下拉框//$("#select").html(''); 
    $("<optionvalueoptionvalue='1'>1111</option>").appendTo("#select")//添加下拉框的option 
    稍微解釋一下:
    1.select[@name='country'] option[@selected] 表示具有name 屬性, 
    并且該屬性值為'country' 的select元素 里面的具有selected 屬性的option 元素; 
    可以看出有@開頭的就表示后面跟的是屬性。 
    2,單選框: 
    $("input[@type=radio][@checked]").val(); //得到單選框的選中項的值(注意中間沒有空格) 
    $("input[@type=radio][@value=2]").attr("checked",'checked');//設(shè)置單選框value=2的為選中狀態(tài).(注意中間沒有空格) 
    3,復(fù)選框:  
    $("input[@type=checkbox][@checked]").val(); //得到復(fù)選框的選中的第一項的值 
    $("input[@type=checkbox][@checked]").each(function(){//由于復(fù)選框一般選中的是多個,所以可以循環(huán)輸出 
     alert($(this).val()); 
      }); 
    $("#chk1").attr("checked",'');//不打勾 
    $("#chk2").attr("checked",true);//打勾 
    if($("#chk1").attr('checked')==undefined){} //判斷是否已經(jīng)打勾 
    當然jquery的選擇器是強大的. 還有很多方法.  
    <script src="jquery-1.2.1.js"type="text/javascript"></script> 
    <script language="javascript"type="text/javascript"> 
    $(document).ready(function(){ 
    $("#selectTest").change(function() 
    { 
       //alert("Hello"); 
       //alert($("#selectTest").attr("name")); 
      //$("a").attr("href","xx.html"); 
       //window.location.href="xx.html"; 
      //alert($("#selectTest").val()); 
       alert($("#selectTest option[@selected]").text()); 
       $("#selectTest").attr("value", "2"); 
    }); 
    }); 
    </script> 
     <ahrefahref="#">aaass</a> 
    <!--下拉框-->
    1.<select id="selectTest"name="selectTest">  
    2.<optionvalueoptionvalue="1">11</option>  
    3.<optionvalueoptionvalue="2">22</option>  
    4.<optionvalueoptionvalue="3">33</option>  
    5.<optionvalueoptionvalue="4">44</option>  
    6.<optionvalueoptionvalue="5">55</option>  
    7.<optionvalueoptionvalue="6">66</option>  
    8.</select>  
    9.jqueryradio取值,checkbox取值,select取值,radio選中,checkbox選中,select選中,及其相關(guān)獲取一組radio被選中項的值  
    10.var item = $('input[@name=items][@checked]').val();  
    11.獲取select被選中項的文本  
    12.var item = $("select[@name=items] option[@selected]").text();  
    13.select下拉框的第二個元素為當前選中值  
    14.$('#select_id')[0].selectedIndex = 1;  
    15.radio單選組的第二個元素為當前選中值  
    16.$('input[@name=items]').get(1).checked = true;  
    17.獲取值:  
    18.文本框,文本區(qū)域:$("#txt").attr("value");  
    19.多選框checkbox:$("#checkbox_id").attr("value");  
    20.單選組radio: $("input[@type=radio][@checked]").val();  
    21.下拉框select: $('#sel').val();  
    22.控制表單元素:  
    23.文本框,文本區(qū)域:$("#txt").attr("value",'');//清空內(nèi)容  
    24. $("#txt").attr("value",'11');//填充內(nèi)容  
    25.多選框checkbox: $("#chk1").attr("checked",'');//不打勾  
    26. $("#chk2").attr("checked",true);//打勾  
    27. if($("#chk1").attr('checked')==undefined) //判斷是否已經(jīng)打勾  
    28.單選組radio:$("input[@type=radio]").attr("checked",'2');//設(shè)置value=2的項目為當前選中項  
    29.下拉框select:$("#sel").attr("value",'-sel3');//設(shè)置value=-sel3的項目為當前選中項  
    30.$("<optionvalueoptionvalue='1'>1111</option><optionvalueoptionvalue='2'>2222</option>").appendTo("#sel")//添
    加下拉框的option  
    31.$("#sel").empty();//清空下拉框  
    32.獲取一組radio被選中項的值  
    33.var item = $('input[@name=items][@checked]').val();  
    34.獲取select被選中項的文本  
    35.var item = $("select[@name=items] option[@selected]").text();  
    36.select下拉框的第二個元素為當前選中值  
    37.$('#select_id')[0].selectedIndex = 1;  
    38.radio單選組的第二個元素為當前選中值  
    39.$('input[@name=items]').get(1).checked = true;  
    40.獲取值:  
    41.文本框,文本區(qū)域:$("#txt").attr("value");  
    42.多選框checkbox:$("#checkbox_id").attr("value");  
    43.單選組radio: $("input[@type=radio][@checked]").val();  
    44.下拉框select: $('#sel').val();  
    45.控制表單元素:  
    46.文本框,文本區(qū)域:$("#txt").attr("value",'');//清空內(nèi)容  
    47.$("#txt").attr("value",'11');//填充內(nèi)容  
    48.多選框checkbox: $("#chk1").attr("checked",'');//不打勾  
    49.$("#chk2").attr("checked",true);//打勾  
    50.if($("#chk1").attr('checked')==undefined) //判斷是否已經(jīng)打勾  
    51.單選組radio:$("input[@type=radio]").attr("checked",'2');//設(shè)置value=2的項目為當前選中項  
    52.下拉框select:$("#sel").attr("value",'-sel3');//設(shè)置value=-sel3的項目為當前選中項  
    53.$("<optionvalueoptionvalue='1'>1111</option><optionvalueoptionvalue='2'>2222</option>").appendTo("#sel")//添加下拉框的option  
    54.$("#sel").empty();//清空下拉框
    以上這篇Spring MVC中Ajax實現(xiàn)二級聯(lián)動的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考