2011-12-13 1 views
0

У меня есть функция ajax, которая отправляет переменную num - в php-скрипт, а затем эхо значение num в div с id «status».Ajax отправка в php, тогда echo в div

Сначала происходит то, что пользователь делает сообщение, я запускаю все необходимые запросы и отображаю сообщения пользователей в div, называемом «сообщениями» (используйте цикл while, чтобы каждый пост находился в div с тем же идентификатором, но div находятся под одним и другим). Я бы хотел, чтобы функциональность ajax работала в каждом из этих «сообщений» divs (каждый «столбик» div содержит две кнопки js witch - onclick - управляет функцией ajax, а также «статус» div)

каждый раз, когда я нажимаю одну из кнопок, можно сказать, что в нижней части отображается наиболее заметное «сообщение» div (нажатие кнопки вызывает функцию ajax/js), функция выполняет в верхней части «сообщений» div, где первый «статус» "div, тогда как он должен отображаться в нижней части div, где я нажал кнопку.

+1

Опубликуйте JQuery. Думаю, у вас есть более одного div с идентификатором 'status'. –

+1

Можете ли вы разместить свой код или ссылку на пример, пожалуйста, – FlabbyRabbit

+0

Похоже, что у вас нет уникального способа ссылки на DIV, поэтому он просто захватывает первый соответствующий элемент. – Treffynnon

ответ

0

EDIT: Извините, я предполагал, что вы используете jQuery. Виноват.

Вы должны использовать классы вместо идентификаторов. Если вы используете идентификатор jquery, это повлияет только на первый в DOM. Идентификаторы должны использоваться только один раз на странице.

Использовать классы, а затем ссылаться на разделы, которые вы хотите редактировать не только по имени класса, но и по какой-либо ссылке на столбец, с которым вы взаимодействуете.

$('.posts .button').click(function() { 
    //do ajax stuff... 
    $(this).parent('div').find('.status').html(data); 
} 

Обновленный код:

// .posts should be the class of the posts div 
// .button should be the class of the button on which you are activating your ajax 
$('.posts .button').click(function() { 
    $.post('your ajax post URL', function(data) { 
     $(this).parent('div').find('.status').html(data); 
    }) 
}); 
+0

Что такое данные html? – fosho

+0

, если вы используете jQuery ajax-функции, которые будут возвратом от ajax. Посмотрите второй фрагмент кода на этой странице: http://api.jquery.com/jQuery.post/ Извините, если я предположил, что вы используете jQuery. Я бы рекомендовал его, очевидно. Это сделало бы то, что вы пытаетесь сделать очень легко. –

+0

Если я правильно понимаю Этот пример извлекает запрошенный фрагмент HTML и вставляет его на страницу. нужна функция ajax для работы в указанном «статусе» div, а не в первом «статусе», который он захватывает, могу ли я использовать его для этого тоже? – fosho

Смежные вопросы