easyui-combobox实现级联查询

       最近在做ITOO选课系统的成绩模块,其中添加一条成绩的比例信息时,需要使用到学年、课程、教师信息,而且课程和教师还是绑定好的,也就是如果课程确定下来,老师也是固定的,所以使用到combobox的级联查询,这里主要使用到该空间的onSelect属性,也就是由该属性再触发另一个URL,中途也因为空间id和name,可谓命运多舛了。

JSP控件定义(注意前3个combobox的id和name):

<!-- 添加比例设置表单-和修改共用----->
	<div id="addResultRule" class="easyui-dialog" title="添加成绩比例信息" buttons="#dlg-buttons">
		<form id="fmResultRule" method="post" novalidate>
			<div class="fitem">
				<label >学年:</label> <input class="easyui-combobox" id="schoolcalendarId" name="schoolcalendarId" required="true" data-options="valueField:'id',textField:'termName',url:'getSchoolCalendar' "/><br>
			</div>
            <div class="fitem">
				<label for="name">课程名称:</label> <input class="easyui-combobox" required="true" id="courseId" name="courseId"  data-options="editable:false" align="center"/><br>
			</div>
			<div class="fitem">
				<label for="name" >教师:</label> <input class="easyui-combobox" id="teacherId" name="teacherId" required="true" data-options="editable:false" align="center"/><br>
			</div>
			
			<div class="fitem">
				<label for="name">平时成绩比例:</label>  <input id="dailyResultRule" name="dailyResultRule" class="easyui-validatebox" type="text" required="true" /><br>
	        </div>
			<div class="fitem">
				<label for="name">期末成绩比例:</label> <input id="finalResultRule" name="" required="true" class="easyui-validatebox" type="text" required="true" >
			</div>
		</form>
	</div>

JS代码:

思路:使用JS创建下来列表框,先通过URL得到课程的combo数据,然后选中一条数据后,通过onSelect获得其courseId传递给查询教师URL,做为该方法一个参数。

/* ===================添加时,根据课程加载该课程对应老师 ========start===================== */
$(function(){
$("#courseId")
.combobox(
		{
			url : 'getCourseinfo',//查询课程的URL
			method : 'get',
			cache : false,
			valueField : 'id',
			textField : 'courseName',
			onSelect: function(data) {
				//获取选择的课程id		
			  var courseId = data.id;
				$("#teacherId").combobox("setValue", '');//清空课程
				$
						.ajax({
							type : "POST",
							url : 'GetTeacher?courseId='+ courseId,	//根据选中课程ID查询教师的URL
							dataType : "json",
							cache : false,
							async : false,
							success : function(data) {
								if (data == null) {
									$("#teacherId").combobox(
											"loadData", '');
									alert("该课程下没有老师,请选择别的课程!");
								} else {
									$("#teacherId").combobox(
											"loadData", data);
								}
							}
						});
			}
		});

$("#teacherId").combobox({
valueField : 'id',
textField : 'name',

onSelect : function(data) {
//获取选择的课程id
courseId = data.id;
}
});
});
/* =============根据课程加载该课程对应老师 ========end================= */

效果图:


及时总结,积累中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值