jqGrid - 使用自动完成功能进行内联编辑

时间:2010-10-29 08:28:03

标签: jquery autocomplete jqgrid inline-editing

我确信我已经在一个例子中看到它但是再也找不到它了:(

我有一个带内联编辑的jqGrid。这很好。 一列有一个包含200个条目的选择框。那些已经从数据库查询中检索到了。

由于200个条目太多,我想要一个输入字段和一个实时搜索。点击它后,应保存ID。

有人知道一个例子吗?

非常感谢, 安东尼

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery-ui自动完成,因为您已经包含了jquery ui库。 添加combobox.js,它将根据选择框的值设置自动完成,只需要一个类“combobox”。

// jquery and jquery UI already loaded...
<script src="combobox.js"></script>
<select class="combobox">
    <option value="foo">foo</option>
    <option value="bar">bar</option>
    <option value="baz">baz</option>
</select>

实例:http://jsfiddle.net/CJTd2/1/

答案 1 :(得分:1)

试试这个:

function element(value,options){
    return $('<input type="hidden" value="'+value+'" />');
}
function elementval(elem){
    return elem.val();
}
function fieldfunctions(id){
    $( "#"+id+"_name").autocomplete({
        source: "list.php",
        minLength: 2,
        select: function(event, ui) {
            $("#"+id+"_id_name").val(ui.item.id);
        }
    });
}

$("#table").jqGrid({
    url: 'data.php',
    datatype: "json",
    mtype: 'POST', 
    height: 400,
    colNames: ['Name','Id name'],
    colModel: [
        {name: 'id_name',width: 30,hidden:true,editable:true,edittype:'custom',editoptions:{custom_element:element,custom_value:elementval}},
        {name: 'name',index: 'name',editable:true,edittype:'text',width: 100}

    ],
    onSelectRow: function(id){
        $("#table").jqGrid('editRow',id, true,fieldfunctions);
        }
    });
相关问题