[
[
'date'=>'2010-01-01',
'hours'=>'3'
],
[
'date'=>'2012-01-01',
'hours'=>'1'
],
[
'date'=>'2010-01-01',
'hours'=>''
],
]
(date='2019-03-12' AND user_id=14)
после чего implode(' OR ', $array)
чтобы получить готовое WHERE
выражение."12.03.19".replace(/(\d+)\.(\d+)\.(\d+)/, "20$3-$2-$1");
//"2019-03-12"
new Date("12.03.19".replace(/(\d+)\.(\d+)\.(\d+)/, "20$3-$2-$1"));
//Tue Mar 12 2019 03:00:00 GMT+0300 (Москва, стандартное время)
new Date("12.03.19".replace(/(\d+)\.(\d+)\.(\d+)/, "20$3-$2-$1")).getTime()
//1552348800000
.items-left
, а проверяете количество .items-right
. Думали, что класс сам собой заменится? Нет, так не будет. .red {
background: red;
}
$('.table').on('change', function(e) {
const $tr = $(e.target).closest('tr');
const ajaxdata = $tr.find('.ajaxdata').val();
const subcat = $tr.find('.subcat').val();
$tr.toggleClass('red', ajaxdata === 'none' && subcat === 'none');
}).find('tr').change();
// или
const table = document.querySelector('table');
table.addEventListener('change', e => {
const tr = e.target.closest('tr');
const ajaxdata = tr.querySelector('.ajaxdata').value;
const subcat = tr.querySelector('.subcat').value;
tr.classList.toggle('red', ajaxdata === 'none' && subcat === 'none');
})
table.querySelectorAll('tr').forEach(n => {
n.dispatchEvent(new Event('change', { bubbles: true }));
});
if(document.documentElement.clientWidth < 768)
{
$().fancybox({
selector : '[data-fancybox="images"]',
toolbar : true,
loop : true,
buttons : [
'slideShow',
'fullScreen',
'share',
'zoom',
'close'
],
thumbs : {
autoStart : true,
parentEl : '.fancybox-container',
axis : 'x'
},
});
} else {
$().fancybox({
selector : '[data-fancybox="images"]',
toolbar : true,
loop : true,
buttons : [
'slideShow',
'fullScreen',
'thumbs',
'share',
'zoom',
'close'
],
thumbs : {
autoStart : true,
parentEl : '.fancybox-container',
axis : 'x'
},
});
}
window.onresize = function(event) {
...
};
const result = tags.filter(n => active.some(m => m.name === n.name));
const result = tags.filter(function(n) {
return this.has(n.name);
}, new Set(active.map(n => n.name)));
const tagsObj = tags.reduce((acc, n) => (acc[n.name] = n, acc), {});
const result = active.reduce((acc, n) => ((n = tagsObj[n.name]) && acc.push(n), acc), []);