id
:<input id="<?=$id?>" class="input_quantity" name="quantity" type="text" value="1" size="1"/>
onclick="cart.add(<?= $id?>, document.querySelector('#<?=$id?>').value);"
$_POST['city']
после AJAX-запроса не будет пуст. Начните с малого, просто проверьте, что вам приходит и корректно ли вы обрабатываете POST-данные. А потом уже будете и в куки записывать если все корректно.if (isset($_POST['city'])) {
echo $_POST['city'];
exit();
}
.....
success: function(data) {
alert(data);
}
.....
#change_city
у вас должно вылезти окошко с указанным городом. $res[0]
- это не форматированный список изображений и использовать его не совсем корректно. Используйте только массив $res[1]
в котором пути до изображений:.....
preg_match_all('/<img.+?src=["|\']{1}(.*?)["|\']{1}/', $site, $res);
var_dump($res[1]);
$imageList = $res[1];
foreach ($imageList as $k => $v) {
if (!preg_match('/^http/', $v)) $imageList[$k] = $site . $v; /* если в начале строки нет http то добавляет адрес сайта */
file_put_contents('img' . $k . '.png', file_get_contents($imageList[$k])); /* сохраняем изображения на диск */
echo '<img src="' . $imageList[$k] . '" alt=""><br>'; /* выводим изображения на страницу */
}
event.preventDefault();
в этом коде работает без проблем. По ссылке не переходит. Не знаю в чем у вас проблема. Чтобы добавить новые элементы в массив вы делаете все верно, но нужно добавить и еще одну ссылку соответственно в HTML, чтобы их было 4 шт внутри <td>
- https://codepen.io/anon/pen/BbPLer?editors=1010#0 event
нужно убрать из атрибутов функции:function confirmSubmit(id, table_name, todo)...
id
от родительского td
. Проверьте через console.log()
что вам в итоге приходит в функцию при клике:function confirmSubmit(event, id, table_name, todo) {
var str = id + ' - ' + table_name + ' - ' + todo;
console.log(str);
swal({
.....
onclick=
из HTML-кода, а потом попробуйте так:function confirmSubmit(id, table_name, todo) {
console.log(event);
swal({
title: 'Вы действительно хотите?',
text: table_name+' под ID-'+id,
type: 'warning',
showCancelButton: true,
confirmButtonClass: 'btn-danger',
confirmButtonText: 'Да, хочу!',
closeOnConfirm: false,
cancelButtonText: 'Нет, не хочу!'
},
function(){
$.ajax({
url: 'ajaxpomet',
type: 'POST',
data: 'id='+id+'&todo='+todo,
async: true,
dataType: 'json',
success: function(data) {
if(data.response == 'success') {
swal("Готово!", data.success, 'success');
if(data.todo == 'delete')
{
// Плавное удаление записи
$('#' + id).hide('slow', function() {
$(this).remove();
});
}
else if(data.todo == 'power_off')
{
$('#off'+id).replaceWith('<a id=on'+id+' onclick=\"return confirmSubmit('+id+',\'Включить\', \'power_on\')\" href=#><i class=\"fa fa-power-off\" style=\"margin-left: 15px; color: #3c763d;\" title=Включить></i></a>');
}
else if(data.todo == 'power_on')
{
$('#on'+id).replaceWith('<a id=off'+id+' onclick=\"return confirmSubmit('+id+',\'Отключить\', \'power_off\')\" href=#><i class=\"fa fa-power-off\" style=\"margin-left: 15px; color: #dc2a0b!important\" title=Отключить></i></a>');
}
else if(data.todo == 'graduates')
{
$('#graduates'+id).replaceWith('<i class=\"fa fa-check\" style=\"margin-left: 15px; color: #3c763d!important;\" title=Перемещен></i>');
$('#off'+id).remove();
}
}else{
swal("Ошибка!", data.error, 'error');
}
},
cache: false,
processData: false
});
}
);
};
var table_nameArr = ['Удалить', 'Отключить', 'Переместить'];
var todoArr = ['delete', 'power_off', 'graduates'];
$('a[href="#"]').each((index, element) => {
var id = var id = $(element).parent().attr('id'); /* так получить id из td можно, но это не совсем правильно, хоть и будет работать */
$(element).on('click', (event) => {
event.preventDefault();
confirmSubmit(id, table_nameArr[index], todoArr[index]);
});
});
function confirmSubmit(event, id, table, doo) {
event.preventDefault();
.....
}
$('a[href="#"]').each((index, element) => {
$(element).on('click', (event) => {
confirmSubmit(event, id, table, doo);
});
});
do
нельзя использовать в имени переменной, это зарезервированное ключевое слово для цикла. $this->html
у вас HTML-код страницы, то ссылки на изображения можно получить так:preg_match_all('/<img.+?src=["|\']{1}(.*?)["|\']{1}/', $this->html, $m);
$imageList = $m[1];
print_r($imageList);
src
у image
там и будет ссылка на изображение. А дальше уже с этой ссылкой можете делать, что хотите. Либо вывести на страницу, либо сохранить локально.