У нас есть структура div, как показано ниже:
<!-- main.php starts -->
<div class="main">
<div class="one">
<span class="buttonEdit">EDIT</span>
</div>
<div class="two">Content</div>
<div class="editBox">
<!-- abc.php which is loaded onClick -->
<textarea class="editArea"></textarea>
<span class="buttonSave">SAVE</span>
<!--abc.php ends -->
</div>
</div>
<!-- main.php ends -->
Используемый jQuery:
$(document).ready(function() {
//SAVE BUTTON
$(".buttonSave").click(function(){
//AJAX SAVE HERE
$.post("save.php",function(msg){
var newContent;
newContent = $(".editArea").val();
$(this).parents(".main").find('.two').text(newContent);
});
});
Процесс: нажав кнопку EDIT, внешняя страница (abc.php) будет загружаться в div (class= "editBox") через функцию загрузки jQuery. После редактирования и сохранения содержимое из текстового поля должно отображаться в div (class= "two").
ВАЖНО Существует несколько похожих блоков, и имена классов одинаковы. JQuery написан в abc.php, который является внешним файлом. Можно ли использовать "найти" и "это" в AJAX?
РЕШЕНИЕ НЕОБХОДИМО: для этого нам нужна часть jQuery. Срочно!
на jsFiddle: http://jsfiddle.net/JerryJones/PacTs/
попробуй это
$.post('ajax.php',function(data){
// write your retrived data here
$(".editArea").html(data retrived);
//or
$(".editArea").val(data retrived);
}
Было бы намного проще, если бы вы предоставили ту часть, где контент имеет уникальный идентификатор.
Затем вы можете использовать onClick() на кнопке, чтобы вызвать функцию JavaScript:
function onEdit() {
$("#EditBoxID".load('abc.php');
}
function onSave() {
$("#ContentID").val($("#EditBoxID").val());
}