2016-10-26 2 views
1

Я хочу использовать значение ячейки, чтобы вызвать другую функциюполучить значение в определенной ячейке с JQuery bootgrid

я использую query.bootgrid и нагрузку таблицы с данными, которые я получаю от базы данных.

Все работает отлично ... поиск данных и сортировки .. показать/скрыть collmn

В "строке 2" ORDER_NUMBER является "SR14_2254"

<table id="orderGrid" class="table table-condensed table-hover table-striped" > 
<thead> 
    <tr> 
     <th data-column-id="Id" data-identifier="true" data-visible="false" data-type="numeric" data-width="40">Id</th> 
     <th data-column-id="Order_number" data-width="120" >Auftrag-Nr.</th> 
     <th data-column-id="Order_date" data-width="80" >Vom</th> 
     <th data-column-id="Status" data-width="60" data-align="right" >Status</th> 
     <th data-column-id="Status_since" data-width="80" >Seit</th> 
     <th data-column-id="commands" data-width="200" data-formatter="commands" data-sortable="false">Commands</th> 
    </tr> 
</thead> 
</table>   

<script> 
    var orderGrid = $("#orderGrid").bootgrid({ 
     ajax: true, 
     url: "/If/dup/orderTbl.if.dup.php", 
     selection: true, 
     multiSelect: true, 
     ... 


    $(document).ready(function() { 
     orderGrid.bootgrid(); 
     } 
</script> 

, когда я нажимаю на кнопку на в верхней части страницы вызывается функция customerBtn().

Я проверяю, что для этого действия выбрано только одна строка.

это хорошо работает, и когда только второй ряд выбран я получаю «2»,

, но я не получаю значение ячейки «ORDER_NUMBER» ..

это ВСЕГДА неопределенными ..

function customerBtn(){ 
    var rowSelected =$("#orderGrid").bootgrid("getSelectedRows"); 
     if(rowSelected.length != 1){ 
      alert("sel=" + rowSelected + " elements=" + rowSelected.length); 
     }else{ 
      celValue = $("#orderGrid").data($("#orderGrid").bootgrid("getSelectedRows")); 
      console.log(celValue['Order_number']); 
      loadClient(celValue['Order_number']); 
     } 
    };        

У кого-нибудь есть идеи?

ответ

0

Хорошо, я решил проблему.

На самом деле было 2 ошибки. Во-первых,

$("#orderGrid").bootgrid("getSelectedRows"); 

возвращает идентификатор assiociated в данных-столбца-ID = поле «Идентификатор», а не к строке.

var tblData = $("#orderGrid").bootgrid("getCurrentRows"); 

возвращать массивы по строкам. Тогда мне нужно просто следующий код для сканирования данных:

for(var i=0; i < tblData.length; i++){ 
    console.log(tblData[i]['Id'] + " => " + tblData[i]['Order_number']); 
    if(tblData[i]['Id'] == rowSelected){ 
     loadClient(tblData[i]['Order_number']); 
     break; 
    } 
} 

Теперь функция loadClient (порядок) показывает также, когда я SR14_2254 выбрать вторую строку.

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