Я стремлюсь использовать contenteditable="true"
div, чтобы я мог отобразить содержимое wp_content
однако, как только это будет изменено, его необходимо отправить через <textarea>
Я использую следующий jQuery для обновления текстовой области при любых изменениях в редактируемом div.
jQuery( "#contentEdit" ).keyup(function( event ) {
value = jQuery('#contentEdit').html();
jQuery("#myTextarea").val(value);
});
И у меня есть элементы, к которым это относится.
<div id="contentEdit" contenteditable="true">
<h1>some editable content</h1>
</div>
<textarea class="form-control" id="myTextarea" name="Description" rows="3">
<h1>some editable content</h1>
</textarea>
Это работает нормально … Однако, когда я пытаюсь добавить в <?php the_content(); ?>
или даже echo the_content();
Это ломается, и я не могу получить код jQuery для обновления чего-либо.
Примером может быть:
<div id="contentEdit" contenteditable="true"><?php echo the_content(); ?></div>
РЕДАКТИРОВАТЬ: У меня есть это работает отлично на новой странице — кажется, что это не будет работать в модале начальной загрузки.
Мой jquery теперь выглядит так:
jQuery(document).ready(function () {
jQuery(document).on('keyup','#editableContent',function(){
value = jQuery('#editableContent').html();
jQuery("#myTextarea").val(value);
});
});
EDIT2
Теперь я знаю, что мне нужны уникальные идентификаторы. Я пытаюсь использовать следующее.
var editableID = 'editableContent<?php echo the_ID(); ?>';
var textAreaID = 'myTextarea<?php the_ID();?>';
jQuery(document).ready(function () {
jQuery(document).on('keyup', editableID ,function(){
value = jQuery(editableID).html();
jQuery(textAreaID).val(value);
});
});
РЕДАКТИРОВАТЬ 3
Я, наконец, получил это с помощью следующего:
jQuery(document).ready(function () {
jQuery(document).on('keyup', '#editableContent<?php echo the_ID(); ?>' ,function(){
value = jQuery('#editableContent<?php echo the_ID(); ?>').html();
jQuery('#myTextarea<?php echo the_ID(); ?>').val(value);
});
});
Будучи довольно новым для этого, было бы признательно, если кто-то может оптимизировать этот код? и посоветуйте мне, если это плохая форма ….
Спасибо заранее.
В PHP нет ничего конкретного, что могло бы сломать jQuery. jQuery работает через сгенерированный HTML с вашего веб-сервера (PHP), и проблема заключается в вашем сгенерированном HTML.
Когда вы запустите свое приложение, просмотрите сгенерированный HTML-источник и сравните его с желаемым HTML-шаблоном. Могу поспорить, что между ними есть существенные различия (я предполагаю, что вы успешно протестировали свое приложение с HTML-кодом, написанным вручную, а затем попытались абстрагировать этот HTML-код вручную в свой the_content()
Функция PHP).
Чтобы было ясно, я ожидаю, что проблема в вашем the_content()
функции, но я просто хотел отметить, что любая проблема, с которой вы сталкиваетесь, связана с вашей конкретной реализацией, а не с вашим архитектурным решением использовать PHP.
Других решений пока нет …