/// /// /// /// StudentSelect = function () { this.ApplicationPath = "../"; this.SchID = ""; this.ControlID = "Window_StudentSelect"; this.ParentElement = null; //要加入的父容器 var My = this; var listClassName = My.ControlID + "listClassName"; var listLeftPerson = My.ControlID + "listLeftPerson"; var listRightPerson = My.ControlID + "listRightPerson"; var cmdPersonRightAll = My.ControlID + "cmdPersonRightAll"; var cmdPersonLeftAll = My.ControlID + "cmdPersonLeftAll"; var cmdPersonRight = My.ControlID + "cmdPersonRight"; var cmdPersonLeft = My.ControlID + "cmdPersonLeft"; var cmdSave = My.ControlID + "cmdSave"; var cmdExit = My.ControlID + "cmdExit"; var RightPerson = null; var EventHandler = new Sys.EventHandlerList(); //#region 加载 this.Load = function () { Init(); $.ajaxSetup({ type: "POST", contentType: "application/json", dataType: "json", data: "{}", cache: false, dataFilter: function (data, dataType) { if (data == "") return data; if (dataType == "json") { var model = Sys.Serialization.JavaScriptSerializer.deserialize(data); return model; } if (dataType == "jsonString") { var model = Sys.Serialization.JavaScriptSerializer.deserialize(data); if (model.d != "") model.d = Sys.Serialization.JavaScriptSerializer.deserialize(model.d); return model; } return data; }, error: function (xhr, status) { alert(xhr.responseText); } }); // WindowLoadModel.ApplicationPath = "../"; // WindowLoadModel.ControlID = "WindowLoad"; // WindowLoadModel.Isbgiframe = true; // WindowLoadModel.Load(); BindClass(); $("#" + listClassName, My.ParentElement).change(function () { RefshRightPerson(); }); $("#" + cmdPersonLeftAll).click(function () { var options = $("#" + listRightPerson).find("option"); if (options.length == 0) { alert("没有可以移除的人"); return; } var html = new Sys.StringBuilder(); $(options).each(function () { var PersonID = $(this).val(); var query = JSLINQ(RightPerson).Where(function (item) { if (item.PersonID == PersonID) return item; }); Array.remove(RightPerson, query.items[0]); html.append(""); }); $('#' + listLeftPerson, My.ParentElement).append(html.toString()); options.remove(); }); $("#" + cmdPersonRightAll).click(function () { var options = $("#" + listLeftPerson).find("option"); if (options.length == 0) { alert("没有可以添加的人"); return; } var html = new Sys.StringBuilder(); $(options).each(function () { var model = new Object(); model.PersonID = $(this).val(); model.PersonName = $(this).text(); ; Array.add(RightPerson, model); html.append(""); }); $('#' + listRightPerson, My.ParentElement).append(html.toString()); options.remove(); }); $("#" + cmdPersonLeft).click(function () { var options = $("#" + listRightPerson).find("option:selected"); if (options.length == 0) { alert("请选择要移除的人"); return; } var html = new Sys.StringBuilder(); $(options).each(function () { var PersonID = $(this).val(); var query = JSLINQ(RightPerson).Where(function (item) { if (item.PersonID == PersonID) return item; }); Array.remove(RightPerson, query.items[0]); html.append(""); }); $('#' + listLeftPerson, My.ParentElement).append(html.toString()); options.remove(); }); $("#" + cmdPersonRight).click(function () { var options = $("#" + listLeftPerson).find("option:selected"); if (options.length == 0) { alert("请选择要添加的人"); return; } var html = new Sys.StringBuilder(); $(options).each(function () { var model = new Object(); model.PersonID = $(this).val(); model.PersonName = $(this).text(); ; Array.add(RightPerson, model); html.append(""); }); $('#' + listRightPerson, My.ParentElement).append(html.toString()); options.remove(); }); $("#" + cmdSave, My.ParentElement).click(function () { OnSave(); $("#" + My.ControlID, My.ParentElement).window("close"); }); $("#" + cmdExit, My.ParentElement).click(function () { $("#" + My.ControlID, My.ParentElement).window("close"); }); $("#" + listLeftPerson, My.ParentElement).dblclick(function () { var options = $("#" + listLeftPerson).find("option:selected"); if (options.length == 0) { return; } var html = new Sys.StringBuilder(); $(options).each(function () { var model = new Object(); model.PersonID = $(this).val(); model.PersonName = $(this).text(); ; Array.add(RightPerson, model); html.append(""); }); $('#' + listRightPerson, My.ParentElement).append(html.toString()); options.remove(); }); $("#" + listRightPerson, My.ParentElement).dblclick(function () { var options = $("#" + listRightPerson).find("option:selected"); if (options.length == 0) { return; } var html = new Sys.StringBuilder(); $(options).each(function () { var PersonID = $(this).val(); var query = JSLINQ(RightPerson).Where(function (item) { if (item.PersonID == PersonID) return item; }); Array.remove(RightPerson, query.items[0]); html.append(""); }); $('#' + listLeftPerson, My.ParentElement).append(html.toString()); options.remove(); }); } //#endregion //#region 初始化 function Init() { if (My.ParentElement == null) My.ParentElement = $(document.body); if ($("#" + My.ControlID, My.ParentElement).length > 0) return; var htmlString = new Sys.StringBuilder(); htmlString.append("
"); htmlString.append("
班级:
"); htmlString.append(""); htmlString.append(""); htmlString.append(""); htmlString.append(""); htmlString.append(""); htmlString.append(""); htmlString.append(""); htmlString.append(" "); htmlString.append(""); htmlString.append("
未选择人员:已选择人员:
"); htmlString.append("右移"); htmlString.append("

"); htmlString.append("全部右移"); htmlString.append("

"); htmlString.append("左移"); htmlString.append("

"); htmlString.append("全部左移"); htmlString.append("
"); htmlString.append("
"); htmlString.append("
    
"); My.ParentElement.append(htmlString.toString()); $("#" + My.ControlID, My.ParentElement).find("a").linkbutton(); $("#" + My.ControlID, My.ParentElement).window(); $("#" + My.ControlID, My.ParentElement).window("window").bgiframe(); } //#endregion //#region 显示 this.Show = function (ListModel) { RightPerson = ListModel; if (RightPerson == null) RightPerson = new Array(); RefshRightPerson(); $("#" + My.ControlID, My.ParentElement).window("open"); } //#endregion //#region 绑定班级 function BindClass() { var param = new Object(); param.SchID = My.SchID; $.ajax({ url: My.ApplicationPath + "WebSurvey/SurveyService.asmx/GetListClass", data: Sys.Serialization.JavaScriptSerializer.serialize(param), dataType: "jsonString", success: function (data) { var html = new Sys.StringBuilder(); html.append(""); $(data.d).each(function (i) { if (i == 0) { html.append(""); } else { html.append(""); } }); $('#' + listClassName, My.ParentElement).html(html.toString()); } }); } //#endregion //#region 读取学生信息 function ReadStudent(Persons) { var param = new Object(); param.SchID = My.SchID; param.Persons = Persons; param.ClassID = $("#" + listClassName, My.ParentElement).val(); $.ajax({ url: My.ApplicationPath + "WebSurvey/SurveyService.asmx/GetListStudent", data: Sys.Serialization.JavaScriptSerializer.serialize(param), dataType: "jsonString", success: function (data) { var html = new Sys.StringBuilder(); $(data.d).each(function (i) { html.append(""); }); $('#' + listLeftPerson, My.ParentElement).html(html.toString()); } }); } //#endregion //#region 刷新已设置人员 function RefshRightPerson() { var html = new Sys.StringBuilder(); var html2 = new Sys.StringBuilder(); $(RightPerson).each(function (i) { html.append(""); html2.append(this.PersonID + ","); }); var Persons = html2.toString(); if (Persons != "") Persons = Persons.substr(0, Persons.length - 1); $('#' + listRightPerson, My.ParentElement).html(html.toString()); ReadStudent(Persons); } //#endregion //#region 选择班级下拉框 this.SelectClass = function (ClassID, Enabled) { $('#' + listClassName, My.ParentElement).val(ClassID); if (Enabled == false) { $('#' + listClassName, My.ParentElement).attr("disabled", "disabled"); } else { $('#' + listClassName, My.ParentElement).removeAttr("disabled"); } } //#endregion //#region 设置班级下拉框是否可用 this.SetClassEnabled = function (Enabled) { if (Enabled == false) { $('#' + listClassName, My.ParentElement).attr("disabled", "disabled"); } else { $('#' + listClassName, My.ParentElement).removeAttr("disabled"); } } //#endregion //#region 点击确定时触发 this.Save = function (handler) { EventHandler.addHandler('Save', handler); } //#endregion //#region 点击确定时触发 function OnSave() { var h = EventHandler.getHandler('Save'); if (h) h(RightPerson); } //#endregion }