2016-04-14 2 views
0

Я использую Bootgrid с командами, и если в сетке есть только одна строка (я могу определить, есть ли только одна строка из данных в php), тогда я хотите вызвать событие нажатия кнопки команды. Командная кнопка имеет класс под названием «командный вид». Я попытался следующие:Как вызвать событие щелчка кнопки команды Bootgrid

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

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

Если я правильно понял, у вас уже есть обработчики кликов для ваших командных кнопок, но вы хотите вызвать его, когда есть только одна строка. Если да, почему бы просто не вызвать тот же метод, который вы вызываете внутри существующего обработчика кликов, вместо того, чтобы пытаться вызвать клик самостоятельно? – Alisson

ответ

0

Вы должны сделать так:

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); 
     }); 
    }); 

Обратите внимание, что grid.find относится к переменной сетки, созданной на первой линии.

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

Я получал ошибку javascript на консоли при сортировке строки, потому что я пытался получить идентификатор атрибута данных при щелчке по строке. Оператор if, проверяющий undefined, был тем, что мне не хватало в событии щелчка строки, чтобы определить, является ли это строкой или заголовком. Спасибо @philw. – ajexpress

Смежные вопросы