Доступ к rowObejct внутри custom_element - PullRequest
0 голосов
/ 07 июля 2011

Согласно документации, можно написать собственную функцию для создания пользовательского элемента ввода для ячейки:

<script>
function myelem (value, options) {
  var el = document.createElement("input");
  el.type="text";
  el.value = value;
  return el;
}

function myvalue(elem, operation, value) {
    if(operation === 'get') {
       return $(elem).find("input").val();
    } else if(operation === 'set') {
       $('input',elem).val(value);
    }
}
jQuery("#grid_id").jqGrid({
...
   colModel: [ 
      ... 
      {name:'price', ..., editable:true, edittype:'custom', editoptions:    {custom_element: myelem, custom_value:myvalue} },
      ...
   ]
...
});
</script>

Возможно ли получить доступ к rowObject из функции custom_element (myelem), потому что мне нужно создавать различные элементы управления(ввод, выбор) в зависимости от данных rowObject (например, rowObject.type)?

1 Ответ

2 голосов
/ 07 июля 2011

Вы правы, может быть целесообразно иметь параметр rowObject, который не существует. В качестве обходного пути я мог бы предложить использовать options параметр custom_element (в вашем примере myelem).

Если будет создан пользовательский элемент управления для редактирования, в качестве параметра options будет использоваться объект со свойствами id и name. id будет идентификатором новых созданных элементов, а имя является значением из свойства name colModel соответствующего столбца. Вы можете использовать тот факт, что значение id будет создано из rowid, и к нему будет добавлено подчеркивание и имя столбца (свойство name). Так что options.id это rowid + '_' + options.name, и вы можете легко получить значение тока rowid. Затем, используя getRowData , вы можете получить rowObject, что вам нужно. Вместо getRowData вы можете использовать getCell причины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...