Я работаю над этим часами и испытываю большие трудности – не смог найти решение.
У меня есть два div. div3 должен соответствующим образом изменять его содержимое всякий раз, когда div2 изменяется. Div2 изменяется через ajax, поэтому, когда это происходит, он должен инициировать другой вызов ajax для изменения div3.
Вот подробности:
Этот php-скрипт выводит результаты запроса к базе данных, которые различаются в зависимости от того, какая кнопка в main.html была нажата.
У меня есть div-div3, который должен отображать содержимое подраздела данных текущего вывода div 3.
Таким образом, логически следует, что всякий раз, когда div2 изменяется, содержимое div3 должно соответствующим образом изменяться.
Первоначально я думал, что могу просто поместить вызов функции во вторую функцию ajax в конце php-файла, таким образом, он всегда будет загружаться сразу после php-файла, но, видимо, java не может быть прочитан из вывода ajax.
Вот что я пробовал:
<script>
в конце php-файла, но не работал по вышеуказанным причинам. onload
последнего div файла php, но он не работает. onchange
в элемент div2, чтобы всякий раз, когда содержимое было изменено с помощью ajax, запускается второй скрипт ajax, но он не работает. onclick
в php-файле и нажимаю на нее из div2 при загрузке php, он работает и обновляет содержимое div3. Все, что мне нужно сделать, это найти способ превратить этот вызов функции onclick
во что-то автоматически, когда либо загружается страница php, либо когда содержимое div2 изменяется.
Дополнительные примечания: 1. Я бы хотел держаться подальше от eval
если мог, потому что я пытался это изучить, но методология разработки соответствующего регулярного выражения и всех других деталей казалась мне очень сложной. Мне может потребоваться много часов, чтобы разработать подходящий подход, и даже тогда это может не сработать … Я бы предпочел придерживаться всех возможных простых вариантов, которые я упустил или, возможно, неправильно выполнил. 2. Я буду наблюдать за этим сообщением, как ястреб, поэтому, если вам нужна дополнительная информация, не стесняйтесь спрашивать. Я не опубликовал свой код, потому что он довольно длинный и сложный, чтобы описать характер проблемы в более кратком примере.
Благодаря!
Если я правильно вас понял, вы можете попробовать что-то вроде этого:
$.ajax({ type:'post', url:'url goes here', data:{<insert data being passed>}, success:function(ret) { $('div y').html(ret); // populate div y $.ajax({ type:'post', url:'second url goes here', data:{<insert data being passed>}, success:function(ret2) { $('div x').html(ret2); // populate div x } }); } });
Конечно, это подход jquery, из которого я довольно большой поклонник