2

下面是我的行的一部分。更改组合框值时,我需要更改 BudgetLineItemCode 字段的值。

{ title: 'Index', field: 'RootLevel', width: 50, editor: { 'type': 'validatebox', 'options': { required: true}} },
            { field: 'PHeading', title: 'Heading', width: 240,
                formatter: function (value) {
                    for (var i = 0; i < CItems.length; i++) {

                        if (CItems[i].heading.toLowerCase() == value.toLowerCase()) {
                            return CItems[i].heading;
                    }
                    return value;
                },
                editor: {
                    type: 'combobox',
                    options: {
                        valueField: 'heading',
                        textField: 'heading',
                        data: CItems,
                        required: true
                        onSelect: function (record) {
                        var selrow = $('#trgrid').treegrid('getSelected');
                        var rowIndex = $('#trgrid').treegrid('find',row.BudgetDetailID)
                        var editors =$('#trgrid').treegrid('getEditors',selrow.BudgetDetailID);

                     var codeEditor = editors[2];

                     $(codeEditor.target).text('setValue', 'newval');

                    }
                }
            }{ title: 'Code', field: 'BudgetLineItemCode', width: 50, editor: { 'type': 'text'} }

另外,还有一个问题。组合框没有 onChange 事件。我们有什么办法可以克服这个问题。我的意思是,当用户在组合框中键入时,我可能想检查代码。

4

2 回答 2

2

第一部分你可以做

$(codeEditor.target).val('newval');

因为 validatebox 的设置器是 .val(),

文档在这里..

对于第二个easyui组合框,默认情况下会这样做..或者你可以使用keyhandler

editor: {
                type: 'combobox',
                options: {
                    valueField: 'heading',
                    textField: 'heading',
                    data: CItems,
                    required: true,
                    keyHandler: {
                    up: function(){},
                    down: function(){},
                    enter: function(){},
                    query: function(q){ console.log(q)} //<----here
                    },
                    onSelect: function (record) {
                    var selrow = $('#trgrid').treegrid('getSelected');
                    var rowIndex = $('#trgrid').treegrid('find',row.BudgetDetailID)
                    var editors =$('#trgrid').treegrid('getEditors',selrow.BudgetDetailID);

                 var codeEditor = editors[2];

                 $(codeEditor.target).text('setValue', 'newval');

                }
            }
于 2013-02-15T09:48:54.433 回答
0

代码:

 onSelect: function(rec){
           var row = $('#tblCoursefaculty').datagrid('getSelected');
           var rowIndex = $('#tblCoursefaculty').datagrid('getRowIndex', row)
          var editors = $('#tblCoursefaculty').datagrid('getEditors', rowIndex);
              var ed_fc_co_section = editors[8];
                       $(ed_fc_co_section.target).val(rec.co_section);
                       var ed_fc_co_course_cr = editors[9];
                       $(ed_fc_co_course_cr.target).val(rec.co_course_cr);                              }                                                                      
 }               }">Course</th>
<th data-options="field:'fc_co_section',width:50,align:'left',editor:'text'">Section</th>
<th data-options="field:'fc_co_course_cr',width:50,align:'left',editor:'text'">Credit Hour</th>  
于 2016-04-29T06:02:31.620 回答