2013-02-15 4 views
2

Ниже приведена часть моих строк. Мне нужно изменить значение поля BudgetLineItemCode, когда значение combobox будет изменено.Установка значения текстового поля в поле со списком - easyui

{ 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'} } 

Еще один вопрос. Для combobox нет события onChange. Есть ли способ преодолеть это. Я имею ввиду, что я могу проверить код как пользовательский тип в поле со списком.

ответ

2

для первой части вы можете сделать

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

так сеттера для validatebox является .val(),

docs here ..

и второй 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'); 

       } 
      } 
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> 
Смежные вопросы