Это довольно просто, но мне нужно иметь возможность переключаться с отображением столбцов в таблице.Переменные функции в jQuery
Идея состоит в том, чтобы иметь функцию, которая будет принимать имя столбца (все строки имеют одинаковое поле данных в одном столбце) и скрыть его, изменяя ширину таблицы по мере ее появления.
Использование инспектора Chrome, я придумал простое доказательство концепции
$('[data-id="column"],[data-field="column"]').toggle()
После запуска выше, мне нужно регулировать ширину элемента плюс/минус 4 пикселя для таблицы, чтобы правильно вписаться - Таблица отображает белый квадрат с правой стороны, где находится столбец (столбцы). Это просто доказательство концепции, и фактическая ширина будет храниться в переменной, которая будет управляться, чтобы можно было скрывать несколько столбцов.
$(".oe_list_content").width($(window).width()+/-4)
Я сделал простую функцию, чтобы придумать с первоначальной идеей, но когда я запускаю функцию, она возвращает неопределенное значение, и не вносить изменения. Я вполне уверен, что это возможно, но селектор 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 вы работаете? – DinoMyte
'var row =" column "; «Надеюсь, ты понял, что это странно. Кроме того, если вы хотите, чтобы функция возвращала что-то, вы должны указать оператор 'return'. – lleaff
Селектор - это всего лишь строка, и конкатенация переменной будет работать. [Например] (https://jsfiddle.net/4c9esfyx/) –