Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 16.09.2019, 19:05   #1
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 361
Вопрос Обновление одного блока div по его id

Доброго времени суток!

Подскажите как решить задачу:

Имеется блок div

Код:

<div id="div_1">
 
Содержимое блока Div
 
В этом же блоке расположена кнопка для его обновления 
 
<input type = "button" onclick = "Click(); return false;">
 
</div>
При нажатии кнопки обновляется блок

Код:

function Click(){
 
 $("#div_1").load("1.php #div_1");
 
}
1.php это где находится этот блок по умолчанию

и вот в чем косяк у меня при нажатии кнопки получается так что один блок в другой упаковывается

Код:

<div id="div_1">
 
<div id="div_1">
 
Тут обновленное содержимое блока Div
 
В этом же блоке расположена кнопка для его обновления 
 
<input type = "button" onclick = "Click(); return false;">
 
</div>
 
</div>
Вопрос как мне убрать один блок div?

Убрать нужно повторяющийся блок div
"Я не волшебник, я только учусь"

Последний раз редактировалось s88s; 16.09.2019 в 22:20.
s88s вне форума   Ответить с цитированием
Старый 16.09.2019, 22:13   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,231
По умолчанию

так. а что возвращает 1.php ?
где кавычки в команде load()?
и для чего написан селектор #div_1 после 1.php ?

так что будет?

Код:
function Click(){
 
 $(#div_1).load("1.php");
 
}
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 16.09.2019, 22:14   #3
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 361
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так. а что возвращает 1.php ?
На странице 1.php расположено несколько дивов с разной информацией

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
где кавычки в команде load()?
Кавычки у меня есть просто тут по запаре забыл написать плюс пост писал с телефона =(

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
и для чего написан селектор #div_1 после 1.php ?
Селектор написан что бы только он отобразился на странице а не вся страница в одном блоке

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение

так что будет?

Код:
function Click(){
 
 $(#div_1).load("1.php");
 
}
Так перезапустится вся старница

Точнее в div_1 загрузится вся страница так сказать про дублируется

Мне нужно сделать обновление блока div после нажатия на кнопку без перезагрузки страницы по id
"Я не волшебник, я только учусь"

Последний раз редактировалось s88s; 16.09.2019 в 22:27.
s88s вне форума   Ответить с цитированием
Старый 16.09.2019, 22:16   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,231
По умолчанию

Цитата:
Сообщение от s88s Посмотреть сообщение
Так перезапустится вся старница
Вы в div1 хотите загрузить div1 ?
но он его внутрь дива и загружает.
Что Вы хотите, чтобы после перезагрузки div получил значение такое, как было до перезагрузки?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 16.09.2019, 22:32   #5
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 361
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вы в div1 хотите загрузить div1 ?
но он его внутрь дива и загружает.
Что Вы хотите, чтобы после перезагрузки div получил значение такое, как было до перезагрузки?
К примеру есть блок div

Код:

<div id="div_1">Содержимое 1</div>
После нажатия на кнопку мне этот блок див нужно просто обновить что бы на экран вывелась обновленная информация


Код:

<div id="div_1">Содержимое 2</div>
не понимаю как это сделать
"Я не волшебник, я только учусь"
s88s вне форума   Ответить с цитированием
Старый 16.09.2019, 23:51   #6
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,231
По умолчанию

для исходного примера, попробуйте просто после загрузки переписать содержимое блока.
например, так
Код:
function Click(){
$( "#div_1").load( "1.php #div_1", function( ) { 
	$( "#div_1").html($( "#div_1").find('div').html());
});
}

Цитата:
Сообщение от s88s Посмотреть сообщение
После нажатия на кнопку мне этот блок див нужно просто обновить что бы на экран вывелась обновленная информация
я так и не могу понять,
Содержимое 2 откуда возьмётся то? Если у Вас в исходном файле написано Содержимое 1 ? и после загрузки Вы и получите тоже самое Содежимое 1, которое Вы читаете. Новое откуда возьмётся то?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 17.09.2019, 00:07   #7
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,354
По умолчанию

Код:
function Click() {
    $("div").click(function () {
        $(this).replaceWith($.get('1.php'));
    });
}
uberchel вне форума   Ответить с цитированием
Старый 17.09.2019, 00:27   #8
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,231
По умолчанию

uberchel, в принципе классное решение. :good:

только у ТС проблема в том, что файл 1.php - это как раз и есть исходная страница, включая всё, в том числе и сами js скрипты и тот же div
поэтому, Ваш код будет работать, если будет идти обращение не к самому себе (не к тому файлу, где находится данный код, а к нормальному скрипту, который вернёт нужное содержимое div)
скажем, $.get('get_div1.php')
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 17.09.2019, 01:07   #9
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,354
По умолчанию

Тогда просто и без геморроя )
Код:
$.get('1.php', function (data) {
	$('#div_1').html($('#div_1', data).html());
});
uberchel вне форума   Ответить с цитированием
Старый 17.09.2019, 10:28   #10
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 361
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
Тогда просто и без геморроя )
Код:
$.get('1.php', function (data) {
	$('#div_1').html($('#div_1', data).html());
});
Может и без геморроя но этот вуариант мне не подходит так как грузить всю страницу в блок div
А мне надо всего лишь перезапустить точнее обновить блок див ... reload ему сделать ... обновить всего один блок по его id.
"Я не волшебник, я только учусь"

Последний раз редактировалось s88s; 17.09.2019 в 10:35.
s88s вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Blowfish (резервирование дополнительного байта для блока, говорящий о длине блока) ITdocer Общие вопросы C/C++ 0 21.05.2014 15:40
обновление функции или блока php Viboxjuwin PHP 3 30.10.2013 15:10
Макрос: обновление одного файла данными из другого darthraziel Microsoft Office Excel 33 18.09.2012 17:11
можно ли играть по сети с одного системного блока :=) Свободное общение 11 04.02.2012 19:59
Автоматическое обновление блока данных Jakethefish PHP 4 05.03.2011 23:37


09:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.