【发布时间】:2016-04-03 19:31:55
【问题描述】:
这很简单,但我需要能够切换显示表格中的列。
这个想法是有一个函数,它将获取列的名称(所有行在同一列中具有相同的数据字段)并将其隐藏,同时调整表格的宽度。
使用 Chrome 的检查器,我想出了一个简单的概念证明
$('[data-id="column"],[data-field="column"]').toggle()
运行上述操作后,我需要调整元素的宽度加/减 4 像素以使表格正确适合 - 表格在列的右侧呈现一个白色框。这只是一个概念证明,实际宽度将存储在一个变量中,该变量将被操纵以允许隐藏多个列。
$(".oe_list_content").width($(window).width()+/-4)
我做了一个简单的函数来提出最初的想法,但是当我运行该函数时,它返回 undefined 并且不进行更改。我相当肯定它可以,但是 jQuery 选择器不能接受函数变量吗?
function rowToggle(row){
// Verify the rows even exist in the DOM
if($('[data-id="'+row+'"]').length){
$('[data-id="'+row+'"]','[data-field="'+row+'"]').toggle();
if($('[data-id="'+row+'"]').is(':hidden')){
$(".table").width($(window).width()+4);
}else{
$(".table").width($(window).width()-4);
}
}
}
这看起来确实是一个变量问题,因为
var row = "column";
$('[data-id="'+ row +'"]').toggle();
实际上并没有切换该字段。我错过了什么吗?
【问题讨论】:
-
你能发布你正在使用的html吗?
-
var row = "column";我希望你意识到这很奇怪。此外,如果您希望函数返回某些内容,则必须指定return语句。 -
选择器只是一个字符串,连接一个变量也可以。 For example
标签: javascript jquery html function variables