复选框的单选,修改数据时的回显(默认选中)处理方法

复选框的单选功能,在复选框的值改变事件上触发以下代码

 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();// 将选择人员页面的循环组件刷新
              //跳转到自己的选择界面
    };

 

posted @ 2018-03-06 10:33  杜小二  阅读(2306)  评论(0编辑  收藏  举报