$pol = mb_convert_encoding($_GET['value'], 'UTF-8', 'windows-1251');
$pol1 = mb_convert_encoding($_GET['oldvalue'], 'UTF-8', 'windows-1251');
$pol = iconv('UTF-8', 'windows-1251', $_GET['value']);
$pol1 = iconv('UTF-8', 'windows-1251', $_GET['oldvalue']);
const burger__btn = document.querySelectorAll('.menu__item-link');
//...............
for(let i = 0, l = burger__btn.length; i < l; i++)
burger__btn[i].addEventListener('click', () => {
menu.classList.remove('active');
burger.classList.remove('active-burger');
body.classList.remove('locked');
})
}
const url = 'some url';
try {
const response = await fetch(url);
//.....
} catch {
if (url.startsWith('http:')) {
console.log(`It's may be a mixed content error`);
} else {
try {
await fetch(url, {'mode':'no-cors'}); //если ресурс доступен, то ошибки не будет
console.log(`It's may be a CORS error`);
} catch {
console.log('Other error');
}
}
}
$('button').on('click', function() {
var id = $(this).find('input').val();
...
const allElements = document.querySelectorAll('.elements__item');
const allPrice = '.elements__item-title_cost';
const elementsContainer = document.querySelector('.elements__list');
//функция по сортировке
function sortCard(elements, type) {
let sortingObj = {};
elements.forEach((element, index) => {
const elementValue = parseInt(element.querySelector(type).textContent.replace('руб.', '').replace(/\s+/g, ''));
sortingObj[elementValue] = {'element': element, 'index': index};
});
const keys = Object.keys(sortingObj);
function numberSort(a, b) {
a = parseInt(a);
b = parseInt(b);
if (a < b) return -1;
if (a > b) return 1;
}
keys.sort(numberSort);
keys.map(function(key, index){
elementsContainer.insertAdjacentElement('beforeend', sortingObj[key]['element']);
});
}
document.querySelector('#cost-button').addEventListener("click", function() {
sortCard(allElements, allPrice);
})
.form-check-other {
position: relative;
}
.form-check-other .form-check-label{
position: absolute!important;
left: 0;
}
<?php
$datejs = [];
//...
$datejs[] = [$YY, $MM, $DD];
//...
echo json_encode($datejs);
echo '<script type="text\javascript">';
echo 'var disabled = ';
echo json_encode($datejs);
echo ';' . "\n"
echo '</script>';
jQuery(function($) { //так в jQuery создается обработчик события DOMReady
//И уже после того, как страница полностью готова, выполняем код:
//Получаем value текущей активной радиокнопки. В этом помогает псевдокласс :checked
let radioValue = $('input[name="radio"]:checked').val();
//делаем с ним что хотим
//....
//остальной код
$('input[name="radio"]').click(function(){
var target = $('#block-' + $(this).val());
$('.block-text').not(target).hide(0);
target.fadeIn();
});
});
.nav-head:hover ~ .nav-submenu {
display: block
}
.nav-item:hover .nav-submenu {
display: block
}
$('.minus').click(function() { ...
<div data-product="1920"> ...
<!-- лучше так вместо id="1920" -->
$('div[data-product]').each(function() { //собираем все контейнеры товаров и прогоняем по ним цикл
let $productNode = $(this); //фиксируем jQ-объект товара
let productId = $productNode.data('product'); //получаем ID товара
$productNode.find('.plus').on('click', function() {
//здесь мы уже знаем ID товара (productId) и можем манипулировать
//элементами внутри контейнера товара с помощью $productNode.find('селектор')
});
$productNode.find('.minus').on('click', function() {
});
});
<b id="sum">
<input type="hidden" id="price">
<input type="hidden" id="priceakcia">
let price = $productNode.find('input[data-role="price"]').val();
let priceakcia = $productNode.find('input[data-role="priceakcia"]').val();
//так вычисляется отпускная цена: если есть акционная, то она становится отпускной
let sellingPrice = priceakcia? priceakcia: price;
$config = json_decode(file_get_contents(__DIR__ . '/.config'), true); //читаем конфиги
//...
file_put_contents(json_encode($config), __DIR__ . '/.config'); //пишем конфиги
(function (w, selector) {
w.addEventListener('DOMContentLoaded', () => {
function start() {
w.somename(selector);
}
start();
})
})(window, "container_N");
const elements = document.querySelectorAll('родительский блок *'); //получаем ВСЕХ потомков
Array.prototype.forEach.call(elements, element => { //перебираем полученный список
element.classList.remove( 'доп.класс', 'другой доп.класс', 'еще доп.класс' ); //удаляем ненужные классы
} ); //element.classList.remove поддерживает любое количество аргументов
//...начиная со строки с $.each:
$.each( files_path, function( key, val ){
html += "https://" + val.replace(/^\/home\/user\/www\//, "") +'<br>';
} )
//... остальное убираем и далее:
$('.ajax-respond').html( html );
/.*\/home\/user\/www\//