复选框的单选功能,在复选框的值改变事件上触发以下代码
1 Model.prototype.checkbox6Change = function(event) { 2 // 单选信息 3 var data = this.comp("projectPerson"); 4 // 参数列表 5 var rows = data.getCurrentRow();//当前数据对象 6 var newId = data.getValue("fPostWriteID", rows);//代表当前(后一次)选择时数据的id 7 data.refreshData();//将数据模型中存储的代表复选框的临时数据通过刷新全部清掉 8 data.each(function(parmas) { 9 //获取到数据模型中每一条数据的id 10 var sID = data.getValue("fPostWriteID", parmas.row); 11 //当id相等的时候将这条数据的复选框标识状态设置为true代表已经选择 12 if (newId == sID) { 13 data.setValue("useStatus", true, parmas.row); 14 } 15 }); 16 /*每次选择复选框的时候(复选框值变化事件)触发这个事件首先先获取到第二次点击行的数据idA, 17 true表示选中,false表示未选中 18 然后将所有的数据通过刷新状态设置为未选择,再通过遍历数据模型将id为A的数据状态设置为选择*/ 19 };
修改数据的时候回显,当点击选择人员(其它)时候跳转到另外一个页面,将数据中已经选择的人员(其它)的信息传递到另外一个页面,
将选择页面的数据进行数据遍历,通过对比id将id相等的数据选中标识符设置未true达到回显的目的(在这里要确保当前页遍历的是所有人员选择域的数据)
// 选择抄送人 Model.prototype.row12Click = function(event) {//选择人选的触发事件按钮 var itemScoreData = this.comp("itemScoreData"); var data = this.comp("projectPerson"); // 参数列表 var N_Nam = itemScoreData.getValue("transcribe_person_id"); data.refreshData();//将数据的范围通过刷新设置为整个数据有效域 // 通过遍历比较数据将选中标识符"useStatus"设置为true data.each(function(parmas) { var Na = data.getValue("fPostWriteId", parmas.row); if (N_Nam == undefined || N_Nam == null || N_Nam == '') { //避免数据未定义,from表单验证出问题时报错 } else { if (N_Nam.indexOf(Na) != -1) {// data.setValue("useStatus", true, parmas.row); } } }); this.comp("list8").refresh();// 将选择人员页面的循环组件刷新 //跳转到自己的选择界面 };