本文共 2216 字,大约阅读时间需要 7 分钟。
在做项目的时候,我把我的房类下拉框的数据查询的出来,在房类下拉框里面设置一个ID,通过ID进行点击事件,房类下拉框的数据改变的同时,触发散客价下拉框数据的绑定,然后设置一个变量获取到我们选中房类数据的房类ID,通过这个变量去绑定散客价下拉框里面的数据,代码如下。
//房类下拉框数据 createSelect("Abbreviation", "jianceng"); //房类下拉框数据改变,触发散客价下拉框数据绑定 $("#Abbreviation").change(function () { //获取选中的房类ID var roomtypeID = $("#Abbreviation").val(); //绑定散客价下拉框 createSelect("PFITPrice", "SelectPt?RoomTypeID=" + roomtypeID); //清空散客价下拉框 $("#PFITPrice").empty(); })
然后在控制器,我发现了一个问题,在我们以前学的重庆邮电里面,通过学院ID去绑定班级表和专业表的时候,班级表和专业表里面都有学院ID,然后就可以通过在班级表或专业表里面找到对应的学院ID就能获取到相应的数据,而我这个是通过房类ID去绑定房价表,我的房价表里面没有房类ID,我的房类表里面却有房价ID,开始我都以为我是不是在数据库弄错了,然后想了一下,我只需要查询到我这个房类ID在房价表对应的数据就行了,然后我通过查询房类ID在房类表里面查询到对应的房价ID,再把我这个查询出来的房价ID在房价表里面查询到我需要的数据,然后拼接选择项,最后返回数据,代码如下。
public ActionResult SelectPt(int RoomTypeID) { var listRoomType = (from tbRoomType in myModels.SYS_RoomType where tbRoomType.RoomTypeID == RoomTypeID selecttbRoomType.PriceID).Single(); //查询数据 ListlistHotelRates = (from tbHotelRates in myModels.SYS_HotelRates where tbHotelRates.PriceID == listRoomType select new SelectVo { id= tbHotelRates.PriceID,//房类ID text = tbHotelRates.FITPrice,//散客价 }).ToList(); listHotelRates = Common.Tools.SetSelectJson(listHotelRates); return Json(listHotelRates, JsonRequestBehavior.AllowGet); }
还有在我们回填下拉框信息的时候,我这里的房类信息可以获取到参数返回的ID直接回填,ID为你该数据所在表里面的ID,但房价信息是因为房类信息改变而改变,所以我们要绑定房类ID获取对应的数据,再获取到参数返回的数据,如果数据没有绑定,大家可能都不会出现数据回填不了的情况,但是如果数据是需要绑定的,大家一定要获取到用来绑定数据的数据的ID,然后通过ID去拼接,不能数据回填不了或数据回填错误哦,代码如下。
$.post("SelectGBT", { RoomID: RoomID }, function (data) { //回填表单信息loadDatatoForm("formfangjianxiugai", data); //房类下拉框数据回填createSelect("RAbbreviation", "jianceng" ,data.RoomTypeID); //房类下拉框数据改变,触发年级下拉框数据绑定回填createSelect("RFITPrice", "SelectPt?RoomTypeID=" + data.RoomTypeID, data.PriceID); })
转载地址:http://kmwez.baihongyu.com/