2010-01-06 3 views
0

Используя jQuery, я получаю число (идентификатор конкретного виджета на моей странице). Переменная, которая содержит это число, равна active_widget_id., используя значение, полученное jQuery при вызове функции php

Что мне нужно сделать, это:

  • делают использование этого числа, как в следующем:

<?php $toggleImage = $text_widgets[active_widget_id]['toggle']; ?>

  • получить итоговое значение $ toggleImage (это имя файла, например 'big-widget-header.gif')

  • И отобразите изображение в div (скажем #toggleHolder) на странице.

Проблема заключается в а) JQuery необходимости работать на document.ready, чтобы получить число, б) и один раз я могу построить «$ text_widgets [active_widget_id] [„тумблер“];», не имея возможности запускать php-код (обертывание его тегами php echo не работает, он просто перечисляет выше, а не его результат.)

Я скорее дизайнер, и я пытаюсь пойти с добавлениями, prepends, html() и т. д., но я подозреваю, что должен посмотреть на решение типа ajax.

Все указатели оценили ...

+0

Законченное отображения изображения внутри виджета, копирование его HTML, вставки внутри требуемого DIV, удаляя исходный экземпляр. Бог знает, когда я, наконец, соберу руки с каким-то действием хардкора jQuery :) Я отвечу на ответ Марка, поскольку это четкая дорожная карта для будущих задающих вопрос, связанных с jQuery. Спасибо, Марк и Джейсон. – Necati

ответ

2

В основном вам нужно иметь страницу выполнить снова через Ajax вызова (который вы можете сделать с помощью JQuery).

последовательность будет что-то вроде:

  1. выполнить PHP кода
  2. загрузку страницы
  3. запустить текущий код JQuery
  4. использовать JQuery, чтобы сделать запрос Ajax проходящего параметр из (3) в качестве GET или POST
  5. (запрос запрашивает PHP для вычисления некоторых данных, PHP возвращает значение)
  6. parse response from jQuery ajax request в (5)
  7. использования JQuery для обновления div и отображать результат с (6)
+0

Итак, я нахожусь в точке, где у меня $ toggleImage = $ text_widgets [active_widget_id] ['toggle']; ". Разве это не хорошо достаточно, чтобы запустить запрос ajax? Я чувствую, что все, что мне нужно, - это получить результат этого (например, я нахожусь в пункте 6). Или вы скажете, что я нахожусь только в точке 3 на этом этапе? – Necati

+0

Код PHP, без сомнения, будет необходимо проанализировать данные GET или POST из запроса. Вам нужно будет буквально повторить результат, как только вы вычислите, что это такое ... –

1

Вы не можете смешивать на стороне клиента и на стороне сервера, как вы пытаетесь сделать здесь. Что нужно делать, если вы хотите получать данные с сервера, находясь на стороне клиента, запускаются некоторые вызовы $.post/$.ajax/$.get, а затем выполняются модификации DOM в функциях обратного вызова.

(очень грубо) Пример:

$.post('example.com/yourService', data, yourCallbackFunction, 'json'); 

function yourCallbackFunction(data) { 
    $('.yourClass img').attr('src', data.imageSrc); 
} 
+0

Спасибо. Мне нужно изучить это ... Я использовал visualjquery.com в качестве ресурса для примеров, надеюсь, что есть реальные примеры, похожие на мою ситуацию. – Necati

+0

нет лучшего места, чтобы узнать, как использовать jquery, чем http://jquery.com – Jason

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