2012-02-19 117 views
0

jqGridの問題に直面しています.JqGridにドキュメントのリストがあります。最初の列DocID、2番目はDocNameです。これで、ユーザーがそれらのドキュメントを購読できるように、2つの列にチェックボックスが追加されます。したがって、チェックボックスを使用して列3と列4をチェックする必要があります。ユーザーは任意の数のチェックボックスをオンにし、チェックボックスをクリックするたびにドキュメントIDを使用してAJAX呼び出しを行う必要があります。その特定の文書jqGrid列とチェックボックス

私は、チェックボックスを持つ2つの列を作ることができると私はフォーマッタでそれらを有効に使用されるが、今私はさらに、私は、チェックボックスをクリックすると、行の文書IDにROWIDを取得する必要が行くことができない場所チェックボックスがクリックされました。

ここはマイグリッドコードです。

jQuery("#doc").jqGrid({ 
    url: urlDoc + docID, 
    datatype: 'json', 
    mtype: 'GET', 
    colNames:[<?php echo (buildCSV(array(_(''), _('Document ID'), _('Document Name'), _('Subscribe'), _('Copy Locally')))); ?>], 
    colModel:[ 
      {name:'fld_doc2comp_status',index:'fld_doc2comp_status', width:1, editable: false, align:"left", hidden:true}, 
      {name:'fld_comp_documentid',index:'fld_comp_documentid', width:70, editable: true, align:"left", sortable:false, 
       editrules:{required:true}, formoptions:{label:'<?php echo (_('Document ID') . ' *');?>'} }, 
      {name:'fld_documentname',index:'fld_documentname', editable: true, align:"left", sortable:false, 
      editrules:{required:true}, formoptions:{label:'<?php echo (_('Document Name') . ' *');?>'} }, 
      {name:'fld_subscribe',index:'fld_subscribe', editable: true, formatter:'checkbox', edittype:"checkbox", formatoptions:{disabled:false}, sortable:false, width:60, align:"center"}, 
      {name:'fld_local',index:'fld_local', editable: true, formatter:'checkbox', edittype:"checkbox", formatoptions:{disabled:false}, sortable:false, width:60, align:"center"} 
    ], 
    loadComplete: function() { 
     jQuery('#doc').setSelection(jQuery('#doc').getDataIDs()[0],true); 
     $('.ui-jqgrid-titlebar-close').remove(); 
    }, 
    onSelectRow: function(id){ 
     docID=id; 
    }, 
    width:650, 
    height:430, 
    rowNum:100, 
    viewrecords: true, 
    sortable: true, 
    sortname: 'fld_comp_documentid', 
    sortorder: 'asc', 
    pager:"#docpgr", 
    pgbuttons:true, 
    pginput:true, 
    editurl: urlDoc + docID, 
    caption: '<?php echo _('Document');?>' 
}); 

私は、メイン画面上ではなく、編集履歴画面を介してfld_subscribeと、データベース内のfld_localフィールドを保存したいです。チェックボックスをクリックするだけで、どのドキュメントのfld_localとfld_subscribeも変更できるようにする必要があります。

あなたの素早い返信をお待ちしております。

答えて

1

チェックボックスのクリックをイベントハンドラにバインドする方法を示すthe answerを参照することをお勧めします。デモではツリーグリッドを使用していますが、コードはjqGridと全く同じように動作します。

ところで、loadCompleteの中のthisは、<table>のDOMです。それはrowsプロパティを持っています。 jqGridの最初の行は、非表示の空の行です。したがって、最初に表示される行のidthis.rows[1].idになります。それを確認することができますthis.rows.length > 1 jQuery('#doc').getDataIDs()[0]の代わりにthis.rows[1].idを使用します。

関連する問題