Добавьте несколько входных элементов в пользовательском поле типа редактирования

Существует ли способ создать пользовательское поле, которое имеет несколько входных элементов? Я консультируюсь с документацией и создаю единственный входной элемент, является довольно прямым, но я не абсолютно уверен, как Вы добавили бы больше чем один.

Кто-либо пересек этот мост прежде? Если так, как Вы делали это?

Вот некоторый пример кода:

...
{name: 'Dimensions', index: 'Dimensions', hidden: true, editable: true, 
edittype: 'custom', editoptions: {custom_element: dimensionsElement, 
custom_value: dimensionsValue}, editrules: {edithidden: true}},
...


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

function dimensionsValue(elem) {
    return $(elem).val();
}

5
задан Oleg 8 July 2010 в 12:50
поделиться

1 ответ

Вы можете использовать jQuery для создания нескольких входных элементов. Поэтому, если ваше поле представляет собой, например, полное имя человека, вы можете использовать следующее

{ name: 'FullName', editable: true, edittype: 'custom', width: 300,
  editoptions: {
      custom_element: function(value, options) {
          // split full name to the first and last name
          var parts = value.split(' ');
          // create a string with subelements
          var elemStr = '<div><input id="'+options.id +
                        '_first" size="10" value="' + parts[0] +
                        '" /></br><input id="'+options.id + '_last' +
                        '"size="20" value="' + parts[1] + '" /></div>';
          // return DOM element from jQuery object
          return $(elemStr)[0];
      },
      custom_value: function(elem) {
          var inputs = $("input", $(elem)[0]);
          var first = inputs[0].value;
          var last = inputs[1].value;
          return first + ' '+ last;
      }
  }},

. Это, вероятно, необработанный фрагмент кода, и вам следует улучшить макет входных элементов (значение size , например). Он показывает основную концепцию построения настраиваемых элементов редактирования.

ОБНОВЛЕНО : если вы используете пользовательское редактирование , важно использовать параметр reconateForm: true (см. http://www.trirand.com/jqgridwiki /doku.php?id=wiki:form_editing). См. jqgrid - Установите custom_value для edittype: 'custom' для подробностей.

11
ответ дан 13 December 2019 в 19:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: