2011-08-01 8 views
2

私は以下のjqgridイメージを持っています。そこからチェックボックスを削除したいです(スクリーンショットの矢印で指し示しています)。私はすべてをチェックしたくない、またはすべての機能をチェックしたくない場合がありますが、時にはmax 3がそれ以上チェックされていないので、multiselect: true, jqueryなどを使って見出しチェックボックスを削除する必要がありますか?jqgridから見出しチェックボックスを削除します

enter image description here

私のコード

$('#configDiv').empty(); 
      $('<div width="100%">') 
      .attr('id','configDetailsGrid') 
      .html('<table id="list1" width="100%"></table>'+ 
        '<div id="gridpager"></div>'+ 
       '</div>')  
      .appendTo('#configDiv');  

      var grid = jQuery("#list1"); 


      grid.jqGrid({ 

       datastr : xml, 
       datatype: 'xmlstring', 
       colNames:['cfgId','Name', 'Host', 'Description','Product', 'Type', 'Last Updated Time','Last Updated By','',''], 
       colModel:[ 
        {name:'cfgId',index:'cfgId', width:90, align:"left", hidden:true}, 
        {name:'cfgName',index:'cfgName', width:90, align:"left", formatter: 'showlink', formatoptions: 
                      { 
                       baseLinkUrl:'javascript:', 
                       showAction: "goToViewAllPage('", 
                       addParam: "');" 

                      }}, 
        {name:'hostname',index:'hostname', width:90, align:"left"}, 
        {name:'cfgDesc',index:'cfgDesc', width:90, align:"left"}, 
        {name:'productId',index:'productId', width:60, align:"left"}, 
        {name:'cfgType',index:'cfgType', width:60, align:"left"}, 
        {name:'updateDate',index:'updateDate',sorttype:'Date', width:120, align:"left"}, 
        {name:'emailAddress',index:'emailAddress', width:120, align:"left"}, 
        {name:'absolutePath',index:'absolutePath', width:90, align:"left", hidden:true}, 
        {name:'fileName',index:'fileName', width:90, align:"left", hidden:true}, 
       ], 
       pager : '#gridpager', 
       rowNum:10, 
       scrollOffset:0, 
       height: 'auto', 

       autowidth:true, 
       viewrecords: true, 
       gridview: true, 
       multiselect: true, 
       xmlReader: { 
        root : "list", 
        row: "Response", 
        userdata: "userdata", 
        repeatitems: false 
       }, 
       onSelectRow: function(id,status){ 
        var rowData = jQuery(this).getRowData(id); 
        configid = rowData['cfgId']; 
        configname=rowData['cfgName']; 
        configdesc=rowData['cfgDesc']; 
        configenv=rowData['cfgType']; 
        absolutepath=rowData['absolutePath']; 
        /*filename=rowData['fileName']; 
        updatedate=rowData['updateDate']; 
        absolutepath=rowData['absolutePath'];*/ 
        updateproductid=rowData['productId']; 


        $('#cfgid').removeAttr('disabled'); 
        document.getElementById("cfgid").value=configid; 
        document.getElementById("cfgname").value=configname; 
        document.getElementById("cfgdesc").value=configdesc; 

        var element = document.getElementById('cfgenv'); 
        if(configenv=="Production") 
         element.value = "Production"; 
        else if(configenv=="Development") 
         element.value="Development"; 
        else 
         element.value="Test/QA"; 
        rowChecked=1; 
        currentrow=id; 
        } 


      }); 
      grid.jqGrid('navGrid','#gridpager',{edit:false,add:false,del:false}); 
      jQuery("#m1").click(function() { 
       var s; 
       s = grid.jqGrid('getGridParam','selarrrow'); 
       alert(s); 
      }); 

私は以下のようなものを試してみましたが、

$("#list1").find('input[type=checkbox]').parents('tr:first').remove(); 
+2

[解答]を見(http://stackoverflow.com/questions/6212571/jqgrid-multiselect -check-all-in-header-how-to-hide-it/6213082#6213082)。 – Oleg

+0

@Oleg:ありがとうございました:) – abi1964

答えて

0

はこのCSSを試して動作しませんでした:

#configDiv th input[type="checkbox"] { 
    display: none; 
} 

あなたが目を必要とする場合IE 6で動作するようにで(それは、これらのCSSセレクタをサポートしていないので)、このJavaScriptを試してみてください。

grid.find('th input[type="checkbox"]').hide(); 
+0

私のために働かなかった – abi1964

+0

申し訳ありません、私は間違ったIDを対象としていました。 –

+2

問題は、グリッドの作成中にグリッドヘッダー**が別のテーブルで**移動されることです。グリッド.closest( 'div.ui-jqgrid-view')。find(type = "checkbox"))。hide(); ' 'table.ui-jqgrid-htable th input [type = "checkbox"]')。hide() ' id: '$("#cb_list1 ")。hide();' 'list1" 'がグリッドidである場合、正しいチェックボックスを見つけるのがより簡単です。私の[古い回答](http://stackoverflow.com/questions/6212571/jqgrid-multiselect-check-all-in-header-how-to-hide-it/6213082#6213082)を参照してください。 – Oleg

関連する問題