Javascript Jtable在单击两次时关闭子表
我有一个Javascript Jtable和一些子表。我想做的是在第二次单击行标题时关闭子表 所以我设置了一些全局变量:Javascript Jtable在单击两次时关闭子表,javascript,jquery,asp.net-mvc,jquery-jtable,Javascript,Jquery,Asp.net Mvc,Jquery Jtable,我有一个Javascript Jtable和一些子表。我想做的是在第二次单击行标题时关闭子表 所以我设置了一些全局变量: var NotesOpen = false; var HistoryOpen = false; var ElementsOpen = false; 因此,在f.ex Notes子表i上,单击函数如下所示: $img.click(function () { if (NotesOpen == true) { console.log($(this).closest('tr
var NotesOpen = false;
var HistoryOpen = false;
var ElementsOpen = false;
因此,在f.ex Notes子表i上,单击函数如下所示:
$img.click(function () {
if (NotesOpen == true) {
console.log($(this).closest('tr').next('tr').find(':button').html());
$(this).closest('tr').next('tr').find(':button').click();
$(this).closest('tr').next('tr').find(':button').trigger('click');
$(this).closest('tr').next('tr').find('.jtable-close-button').click();
}
NotesOpen = true;
我可以看到调试线的另一端。它找到了正确的行,因为它在控制台窗口中说的是Close
。如果我只勾选$(this).closest('tr').next('tr').html()
,我可以看到它在正确的行上
但是,当我尝试触发click事件时,我只得到一个错误:
Uncaught error:无法在初始化之前调用jtable上的方法;试图调用方法'destroy'jquery-2.1.1.js:250
此代码有助于通过单击图像图标打开或关闭子表
//CHILD TABLE DEFINITION FOR "PHONE NUMBERS"
Phones: {
title: '',
width: '5%',
sorting: false,
edit: false,
create: false,
display: function (studentData) {
var $img = $('<img src="/Content/images/Misc/phone.png" title="Edit phone numbers" />'), //Create an image that will be used to open child table
parentTable = $("#StudentTableContainer");
//Open | Close child table when user clicks the image
$img.click(function(){
var tr = $(this).parents("tr"),
isChildRowOpen = parentTable.jtable("isChildRowOpen", tr );
if( isChildRowOpen ){
$( parentTable.jtable("getChildRow", tr ) ).slideUp();
return;
}
// some another code
}
}
}
//用于“电话号码”的子表定义
电话:{
标题:“”,
宽度:“5%”,
排序:假,
编辑:false,
创建:false,
显示:函数(studentData){
var$img=$(“”),//创建一个用于打开子表的映像
parentTable=$(“#StudentTableContainer”);
//当用户单击图像时打开|关闭子表
$img.单击(函数(){
var tr=$(this.parents(“tr”),
isChildRowOpen=parentTable.jtable(“isChildRowOpen”,tr);
如果(isChildRowOpen){
$(parentTable.jtable(“getChildRow”,tr)).slideUp();
返回;
}
//一些其他代码
}
}
}