0

グリッドをロードする次の呼び出しがあります。

$("#searchlist").jqGrid({
    url:'./searchlibrary',
    datatype: 'json',
    mtype: 'POST',
    postData: {
        type: function(){return $('select[name="searchtype"]').val();},
        criteria: function(){return getSearchData();}
    },
    colNames:['Resource Name','Unit', 'Topic','Document Type','Content Type','Select'],
    colModel :[ 
        {name:'resourceName', index:'resourceName', width:380, align:'left'}, 
        {name:'unit', index:'unitID', width:40, align:'center',sortable:true,
            sorttype:'text'}, 
        {name:'topic', index:'topicID', width:220, align:'center',sortable:true}, 
        {name:'docType', index:'docTypeID', width:97, align:'center',
            sortable:true}, 
        {name:'contentType', index:'contentTypeID', width:97, align:'center',
            sortable:true},
        {name: 'select', width:55, align: "center", sortable: false, editable: true,
            edittype: "checkbox", editoptions: { value:"Yes:No" },
            formatter:"checkbox",formatoptions: {disabled : false}}
    ],
    rowNum:20,
    sortname: 'resourceName',
    sortorder: 'asc',
    viewrecords: true,
    gridview: true,
    width:878,
    height:251
});

セクションの最後の項目に注目してくださいcolModel。editoptions セクションに注意してください。グリッドがロードされると、これを無視しているようです。クロムで要素を確認すると、次のコードが生成されていることがわかります。

<input type="checkbox" value=" " offval="no">

宣言で何か間違っていますか?

アップデート

返される JSON は次のとおりです。

 {"total":1,"page":"1","records":"4","rows":[{"id":"1","cell":["Test Resource 1","1","Topic 1","pdf","course","1"]},{"id":"2","cell":["Test Resource 2","1","Topic 1","pdf","course","2"]},{"id":"3","cell":["Test Resource 3","1","Topic 2","mp4","course","3"]},{"id":"4","cell":["Test Resource 4","1","Topic 2","wmv","course","4"]}]}

これでも、デフォルトですべてチェックされている4つの結果が得られます。これは、今選択するための私の colModel にあるものです:

 {name: 'select', index:'resourceID', width:55, align: "center", sortable: false, editable: true, edittype: "checkbox", editoptions: { value:"Yes:No", defaultValue:"No" }, formatter:"checkbox",formatoptions: {disabled : false}}

選択セルの 1 つに対して最初に生成された html は次のとおりです。

 <input type="checkbox" checked="checked" value="1" offval="no">
4

1 に答える 1

1

グリッドにデータをロードすると、select列の値が。に関するチェックボックスとして入力されますformatter:"checkbox"。値がデフォルト値の場合は""、デフォルト値を使用できます。したがって、を使用defaultValueformatoptionsてデフォルト値を指定できます。HTMLフラグメント

<input type="checkbox" value=" " offval="no">

with " "valueは、空の文字列ではなくスペースを使用したデータが間違っている可能性があることを示しています。データを正しく入力する必要がある場合は、サーバーから、、、、、、、、またはtrue(すべての値の場合は重要ではありません)のデータを返す必要があります。詳細については、ソースコードを参照してください。false10yesnoonoff

したがって、サーバーから返されたデータをもう一度確認する必要があります。私は個人的に、チェックボックスの入力値として1とを使用することを好みます。0

于 2012-06-27T21:15:08.540 に答える