在自定义编辑types字段中添加多个input元素
有没有办法创build一个有多个input元素的自定义字段? 我正在咨询文档 ,创build一个单一的input元素是非常简单的,但我不确定如何添加多个。
有没有人过桥? 如果是这样,你是怎么做到的?
以下是一些示例代码:
... {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(); }
你可以使用jQuery创build多个input元素。 所以如果你的领域是例如一个人的全名,你可以使用以下
{ 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; } }},
这是一个原始代码片段,你应该改进input
元素的布局(例如size
属性的值)。 它显示了自定义编辑元素构build的主要概念。
更新 :如果您使用自定义编辑,重要的是使用recreateForm: true
参数(请参阅http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing )。 请参阅jqgrid – 设置edittype:custom的custom_value以获取详细信息。