有没有办法创建具有多个输入元素的自定义字段?我正在查阅文档并创建单个输入元素非常简单,但我不确定如何添加多个.
有没有人过这个桥?如果是这样,你是怎么做到的?
这是一些示例代码:
...
{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();
}
Run Code Online (Sandbox Code Playgroud) place_id的custom_value设置为我先点击的任何一行.无论实际值如何,后续单击的行都将使用相同的值.为什么?
例:
place_id foo_name bar_value
10 blah abc
11 blah2 fgr
Run Code Online (Sandbox Code Playgroud)
单击place_id为10的行,然后单击"编辑",出现的表单将包含10place_id值.进行更改并保存,然后单击下一行.10虽然所有其他值都是正确的,但表单仍将具有place_id .
我的代码:
列place_id如下所示:
{name:'place_id', index:'place_id', editable: true, edittype:'custom',
editoptions: { custom_element:myelem,custom_value:myval }}
Run Code Online (Sandbox Code Playgroud)
该myval功能是:
function myval(elem){
return elem.val();
}
Run Code Online (Sandbox Code Playgroud)
我需要的是将myval设置为正在编辑的行的正确place_id.我看着elemFirebug 中的对象,我发现它总是具有第一次点击的行的值,但我不明白为什么我也不知道从哪里可以获取正确的值.任何建议都表示赞赏(我试过在jqgrid论坛上询问,但没有任何结果,所以我转向stackoverflow).
*编辑:如果我使用edittype:'text'而不是edittype:'custom'我得到显示和传递的正确值,但该列是可编辑的,它应该只是可见但不可编辑.
完整代码:
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'/foo/bar/results',
datatype: 'json',
mtype: 'POST',
colNames:['Place ID', 'Site ID', 'Site Name', 'API ID', 'M Type'],
colModel :[
{name:'place_id', index:'place_id', key: true, sorttype:'integer',
width:70, editable: true, edittype:'custom',
editoptions: {custom_element:myelem,custom_value:myval }},
{name:'site_id', index:'site_id', sorttype:'integer', …Run Code Online (Sandbox Code Playgroud)