前台页面
复制代码 代码如下:
<script type="text/javascript" src="${rc.contextPath}/js/jquery.select.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#rwflSelect").linkSelect({
nodata:"none",
required:true,
firstUrl:'${rc.contextPath}/repair/loadCategory',
secondUrl:'${rc.contextPath}/repair/loadSubCategory',
firstValue:'$!{repair.categoryid}',//任务大类
secondValue:'$!{repair.subcategoryid}'//人物小类
});
});
</script>
<tr id="rwflSelect">
<td width="100" class="t_r prten field_c">任务分类:</td>
<td width="131"><select class="first" name='categoryid'></select> </td>
<td width="10"></td>
<td width="131"><select class="second" name="subcategoryid" disabled="disabled"></select></td>
</tr>
附
jquery.select.js
复制代码 代码如下:
/*
Ajax 三级联动
日期:2013-2-26
settings 参数说明
-----
firstUrl:一级下拉数据获取URL,josn返回
firstValue:默认一级下拉value
secondUrl:二级下拉数据获取URL,josn返回
secondValue:默认二级下拉value
thirdUrl:三级下拉数据获取URL,josn返回
thirdValue:默认三级下拉value
nodata:无数据状态
required:必选项
------------------------------ */
(function($){
$.fn.linkSelect=function(settings){
if($(this).size()<1){return;};
// 默认值
settings=$.extend({
firstUrl:"js/city.min.js",
firstValue:null,
secondValue:null,
thirdValue:null,
nodata:null,
required:true
},settings);
var box_obj=this;
var first_obj=box_obj.find(".first");
var second_obj=box_obj.find(".second");
var third_obj=box_obj.find(".third");
var select_prehtml=(settings.required) ? "" : "<option value=''>请选择</option>";
var prepareSelectHtml=function(jsonArray){
var temp_html=select_prehtml;
$.each(jsonArray,function(index,row){
temp_html+="<option value='"+row.value+"'>"+row.text+"</option>";
});
return temp_html;
};
// 赋值二级下拉框函数
var secondStart=function(){
second_obj.empty().attr("disabled",true);
third_obj.empty().attr("disabled",true);
if(first_obj.val()==''){
return;
}
$.getJSON(settings.secondUrl, { firstValue: first_obj.val(), time: new Date().getTime() }, function(jsonResult){
if(!jsonResult.success){
if(settings.nodata=="none"){
second_obj.css("display","none");
third_obj.css("display","none");
}else if(settings.nodata=="hidden"){
second_obj.css("visibility","hidden");
third_obj.css("visibility","hidden");
};
return;
}
// 遍历赋值二级下拉列表
second_obj.html(prepareSelectHtml(jsonResult.data)).attr("disabled",false).css({"display":"","visibility":""});
thirdStart();
});
};
// 赋值三级下拉框函数
var thirdStart=function(){
third_obj.empty().attr("disabled",true);
$.getJSON(settings.thirdUrl, { firstValue: first_obj.val(),secondValue:second_obj.val(), time: new Date().getTime() }, function(jsonResult){
if(!jsonResult.success){
if(settings.nodata=="none"){
third_obj.css("display","none");
}else if(settings.nodata=="hidden"){
third_obj.css("visibility","hidden");
};
return;
}
// 遍历赋值三级下拉列表
third_obj.html(prepareSelectHtml(jsonResult.data)).attr("disabled",false).css({"display":"","visibility":""});
thirdStart();
});
};
var init=function(){
// 遍历赋值一级下拉列表
$.getJSON(settings.firstUrl, {time: new Date().getTime() }, function(jsonResult){
if(!jsonResult.success){
return;
}
// 遍历赋值一级下拉列表
first_obj.html(prepareSelectHtml(jsonResult.data));
secondStart();
// 若有传入一级与二级的值,则选中。(setTimeout为兼容IE6而设置)
setTimeout(function(){
if(settings.firstValue && settings.firstValue.length>0){
first_obj.val(settings.firstValue);
secondStart();
setTimeout(function(){
if(settings.secondValue && settings.secondValue.length>0){
second_obj.val(settings.secondValue);
thirdStart();
setTimeout(function(){
if(settings.thirdValue && settings.thirdValue.length>0){
third_obj.val(settings.thirdValue);
};
},1);
};
},1);
};
},1);
});
// 选择一级时发生事件
first_obj.bind("change",function(){
secondStart();
});
// 选择二级时发生事件
second_obj.bind("change",function(){
thirdStart();
});
};
// 初始化第一个下拉框
init();
};
})(jQuery);
${rc.contextPath}/repair/loadCategory 对应的后台方法及返回json值:
复制代码 代码如下:
@RequestMapping("loadCategory")
@ResponseBody
public Map<String, Object> loadCategory(ModelMap model){
String msg = "";
boolean isSuccess = false;
List<Map<String, String>> maps=new ArrayList<Map<String,String>>();
try {
List<Category> categories= categoryService.findAllCategory();
for (Category category : categories) {
Map<String,String> map=new HashMap<String, String>();
map.put("value", category.getId().toString());
map.put("text", category.getCategoryName());
maps.add(map);
}
msg = "查找大类成功。";
isSuccess=true;
} catch (Exception e) {
msg = "查找大类失败。";
log.error("查找大类失败:" + e.getMessage(), e);
}
return buildAjaxResult(isSuccess, msg,maps);
}
protected Map<String, Object> buildAjaxResult(boolean isSuccess, String msg, Object data) {
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("success", isSuccess);
resultMap.put("msg", msg);
resultMap.put("data", data);
return resultMap;
}
效果如图:
相关推荐:
从“官网扒下来”看企业数字化转型的未来,摄影营销策略推广文案
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
OpenAI银联支付-未来支付新体验,安全便捷全新升级,医学加ai
SEO永远,数字营销的核心力量,广州seo搜索栏内容
AI助手推进:智能化时代的企业革命,ai改变图片颜色
文章疑似AI生成怎么办?如何辨别并应对AI生成文章的挑战
ChatGPT宕机两小时,OpenAI紧急修复,用户期待AI恢复正常服务,oppo小布ai
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
什么是“神马关键词”?如何用它提升你的网络营销效果?,新闻发布网站怎么做推广
SOE优化:让你的网站轻松登顶,流量激增的秘密武器,广西网站建设存在问题
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
ChatGPT美区要梯子吗?轻松畅享全球智能聊天体验,ai音位
AI智能工具的无限可能:未来已来,你准备好了吗?
ChatGPT的破解版:AI世界的新突破,ai无禁忌
什么是seo方法,何为seo ,ai写作神器源码是什么
seo跟sem是什么,seo和sem的概念 ,惠威的ai功能
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
未来工作方式!AI在线工具让效率倍增,工作变轻松
SEO建议:如何通过优化提升网站流量,赢得市场竞争,自媒体网站免费推广平台
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
怎么用AI生成文章免费版,高效创作从此开始!
ZBlog:开启你的个人网站新时代,轻松搭建与管理,二手手机营销推广方案
好用的AI写作软件免费推荐:创作新境界!
用AI写文章会不会查重率高?破解写作困扰的真相
SEO就业前景如何?打造数字时代的职业新风口,常州武进区水产网站建设
什么是seo的豆子,何为seo ,ai圆复制
AI人工智能文章生成器写作新纪元
优化入口:提升网站流量与转化率的秘密武器,琼海关键词排名品牌
用AI写科普文章:科技改变写作的未来
用AI修改文章,提升写作效率与质量的新时代
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
怎么让AI润色文章,让写作更轻松?
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
主流seo是什么,seo是什么推广网站 ,AI心理师
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
SEO外,如何提升网站整体营销效果?,文轩网络营销推广方案
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
ChatGPT不登录,如何畅享AI的智能服务?,手信ai
SEO总结:如何通过优化提升网站排名与流量,关键词排名消失
seo要会些什么,seo需要学些什么内容 ,轻盈ai
文章生成AI:让写作轻松高效的神奇工具
软件AI:颠覆未来的智能革命
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
seo网站需要做什么,seo都需要做什么 ,ai怎么做喷漆效果
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
AI一键生成原创文章,让创作更高效更轻松!
文字生成AI:开启创意写作的新纪元
互联网留痕:数字时代的隐形轨迹与自我管理,灯塔网站推广包年多少钱