这是仿照上篇的js方法修改的
先看下页面代码:

>웹 프론트엔드 >JS 튜토리얼 >jquery가 ajax linkage box를 구현하는 방법 (2)_jquery

jquery가 ajax linkage box를 구현하는 방법 (2)_jquery

WBOY
WBOY원래의
2016-05-16 17:40:43920검색

링키지 박스의 또 다른 형태인 오른쪽의 링키지 박스는 jquery로 생성한 것입니다
jquery가 ajax linkage box를 구현하는 방법 (2)_jquery
이전 글의 js 메소드를 모방하여 수정한 것입니다
먼저 페이지 코드를 살펴보세요:

코드 복사 코드는 다음과 같습니다.

>사고 지역:




;input id="choose_floor " class="text_k choose_floor" type="text" value="층을 ​​선택하려면 클릭하세요">


;/tr>


페이지에서 호출되는 JS:


코드 복사 코드는 다음과 같습니다. : < ;script type="text/javascript" src="${rc.contextPath}/js/jquery.building.js"> script type="text/javascript">
$(document).ready(function(){
$("#sfqySelect").building({
nodata:"none",
필수:true,
buildingUrl:'$ {rc.contextPath}/repair/loadBuildings',
floorUrl:'${rc.contextPath}/repair/loadFloors',
clickCallback:function(value,text ,other){
moveGis(other) ;
}
})



.js 파일은 다음과 같습니다.



코드 복사
코드는 다음과 같습니다.

/*
Ajax 3단계 연계
날짜: 2013-2-26
설정 매개변수 설명
------
buildingUrl: 건물 드롭다운 데이터 획득 URL, josn은
buildingValue: 기본 건물 드롭다운 값
floorUrl: 층 데이터 획득 URL, josn은
floorValue: 기본 층 값
nodata: 데이터 상태 없음
을 반환합니다. 필수: 필수: 필수 옵션
clickCallback :클릭 시 콜백 함수
------------------------------- */
(function( $){
$.fn.building=function(settings){
if($(this).size()<1){return;};
// 기본값
설정 =$.extend({
buildingUrl:"js/city.min.js",
floorUrl:"js/city.min.js",
buildingValue:null,
floorValue:null,
nodata:null,
필수:true,
clickCallback:function(){}
},settings)
var box_obj=this
var Building_obj=box_obj.find( ".building ");
var Floor_obj=box_obj.find(".choose_floor");
var FloorHidden_obj=box_obj.find(".choose_floor_hidden")
var FloorPanel_obj=box_obj.find("# FloorNum") ;
var select_prehtml=(settings.required) ? "" : "";
var prepareSelectHtml=function(jsonArray){
var temp_html=select_prehtml;
$.each(jsonArray,function(index,row){
temp_html ="

코드는 다음과 같습니다.

@RequestMapping("loadBuildings")
@ResponseBody
공개 맵 loadBuildings(ModelMap 모델){
String msg = "";
부울 isSuccess = false;
목록> map=new ArrayList>();
{
목록 건물= geoAreaService.findBuildings();
for (GeoArea 건물 : 건물) {
Map map=new HashMap();
map.put("value", Building.getId().toString());
map.put("text", Building.getName());
maps.add(지도);
}
msg = "查找大楼成功。";
isSuccess=true;
} catch(예외 e) {
msg = "查找大楼失败。";
log.error("查找大楼失败:" e.getMessage(), e);
}
return buildAjaxResult(isSuccess, msg,maps);
}
@RequestMapping("loadFloors")
@ResponseBody
공개 맵 loadFloors(@RequestParam("buildingId")Integer BuildingId,ModelMap 모델){
String msg = "";
부울 isSuccess = false;
목록> map=new ArrayList>();
{
목록 층= geoAreaService.findFloorById(buildingId);
for (GeoArea 층 : 층) {
Map map=new HashMap();
map.put("value", Floor.getId().toString());
map.put("text", Floor.getName());
map.put("기타", Floor.getCode());
maps.add(지도);
}
msg = "查找楼层成功。";
isSuccess=true;
} catch(예외 e) {
msg = "查找楼层失败。";
log.error("查找楼层失败:" e.getMessage(), e);
}
return buildAjaxResult(isSuccess, msg,maps);
}
보호된 Map buildAjaxResult(boolean isSuccess, String msg, Object data) {
Map resultMap = new HashMap();
resultMap.put("성공", isSuccess);
resultMap.put("msg", msg);
resultMap.put("데이터", 데이터);
결과맵 반환;
}

결정!
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.