2016-04-14 49 views
0

コマンドボタンでBootgridを使用していて、グリッドに行が1つしかない場合(データの行が1つしかないかどうかを判断できます)コマンドボタンクリックイベントを発生させたいコマンドボタンには「コマンドビュー」というクラスがあります。私は、次のことを試してみた:Bootgridコマンドボタンのクリックイベントをトリガーする方法

$(".command-view").click(); 

$("#grid .command-view").click(); 
+0

私が正しく理解していれば、コマンドボタン用のクリックハンドラーが既にありますが、行が1つしかない場合は、それをトリガーしたいと考えています。その場合は、自分でクリックをトリガーするのではなく、既存のクリックハンドラー内で同じメソッドを呼び出すだけです。 – Alisson

答えて

0

ようにあなたがしなければならない:grid.find注意を払うが、最初の行に作成されたグリッド変数を指し、

var grid = $("#your_grid").bootgrid({ 
    formatters: { 
     "commands": function(column, row) 
     { 
      return '<button class="command-select"data-row-id='+ row.id +'></button>'; 
     } 
    } 
    }).on("loaded.rs.jquery.bootgrid", function() { 
     grid.find(".command-select").on("click", function (e) { 
      var id = $(this).data("row-id"); 
      console.log(e) 
      console.log(id); 
     }); 
    }); 

3

より一般的なアプローチは、組み込みのBootGridクリックハンドラ(基本的には以下のように行をベースにしています)を使用し、その後のクリックを処理することです。

これは、BootGridがどのように動作するかを示しています。また、各行に別々のイベントハンドラを配置する必要もありません。

.on('click.rs.jquery.bootgrid', function (e, cols, row, target) { 
    if (typeof row != "undefined") // Only rows, not headers 
    { 
     // You will get control here when anything in the row is clicked. 
     // In your case just filter for your target and you're done. 
    } 
+0

行のクリック時にデータ属性IDを取得しようとしていたため、行を並べ替えるときにコンソールでjavascriptエラーが発生しました。定義されていないチェックのifステートメントは、行またはクリックであるかどうかを判断するために行のクリックイベントで欠けていたものでした。ありがとう@philw。 – ajexpress

関連する問題