我想使用单元格的值来调用另一个函数
我使用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>
当我点击页面顶部的a按钮时,会调用函数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 :(得分:1)
好的,我解决了这个问题。
实际上有2个错误。第一个是那个
$("#orderGrid").bootgrid("getSelectedRows");
返回与data-column-id =&#34; Id&#34;相关联的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(order)显示SR14_2254。