Intereting Posts
Изменение пути загрузки WordPress по умолчанию в другой домен Что такое хороший вариант кэширования базы данных W3? Исключить администратор из списка пользователей Обновление интенсивного результата wp_query один раз в день BuddyPress – получить список определенных полей xProfile Использовать полноразмерные изображения в определенной галерее Как выводить темы и ответы в bbpress как таблицу? Страница архива для персонализированного типа сообщения с использованием WPML Как получить термин link, который пересекает различные пользовательские типы сообщений? Где скрывается короткий код? Buddypress: загрузить Ajax без пакета шаблонов Мне нужно отключить предварительное одобрение комментариев Disqus, но я не могу найти, где Поддержка Emoji и MariaDB 10.0.30- Как я могу развернуть свой сайт InstantWP на веб-сайте? Панели инструментов WordPress в отдельных файлах

Контактная форма 7 проблема с jquery – скрытие / отображение полей

Я следил за инструкциями относительно того, как скрыть / показать поля Contact Form 7 с помощью jQuery.

Я использовал это раньше, и это сработало чудеса. Однако на новом сайте по какой-то причине он не работает. Эта страница находится здесь .

Поля скрываются, но не показывают, когда щелкнули поле, предназначенное для показа! Может ли кто-нибудь помочь мне решить эту проблему? Вот код:

Код HTML:

<p>You are an employee or official representative of a charity or community group (ie you are not a third party raising funds on their behalf (required):<br /> [select* criteria-question-1 label_first include_blank "Yes" "No"] </p> <p>The fundraising will benefit people in the Southampton and/or Hampshire area (required):<br /> [select* criteria-question-2 label_first id:form include_blank "Yes" "No] </p> <div class="hide" id="hide1"> <p>Name of organisation (required):<br /> [text* org-name placeholder "Enter organisation name here"] </p> </div> 

JQuery

 $( document ).ready( function() { //Hide the field initially $( "#hide1" ).hide(); //Show the text field only when the third option is chosen - this doesn't $( '#form' ).change( function() { if( $( "#form" ).val() == "Yes" ) { $("#hide1").show(); } else { $( "#hide1" ).hide(); } } ); } ); 

Solutions Collecting From Web of "Контактная форма 7 проблема с jquery – скрытие / отображение полей"

Проблема очень хорошо может быть noConflict . По умолчанию всякий раз, когда WordPress запускает jquery, он запускается в режиме noConflict что означает, что он не предоставляет псевдоним для jQuery где значение по умолчанию равно $ как у вас в вашем вопросе.

Смотрите этот комментарий к ресурсу Dev :

Когда вы вставляете скрипт, зависящий от jQuery, обратите внимание, что jQuery в WordPress работает в режиме noConflict, что означает, что вы не можете использовать общий псевдоним $. Вместо этого вы должны использовать полный jQuery. В качестве альтернативы поместите свой код, используя $ shortcut внутри оболочки noConflict.
– bcworkz

Это означает, что вам нужно заменить свой $( document ).ready() на:

 jQuery( document ).ready( function( $ ) { 

Кроме того, согласно вашему комментарию, это выглядит так (путем просмотра источника страницы), который вы добавляете в свой скрипт до того, как будет определен JQuery. Если вы используете обычный wp_enqueu_script() (который вы должны использовать / учиться для использования), вам нужно определить jquery в массив $deps :

 wp_enqueue_script( 'my-irrelevant-handle', // Script handle to identify your script get_stylesheet_directory_uri() . /my-script-path.js, // Path to your script relative to style.css array( 'jquery' ), // Tells WordPress to add this script after JQuery has been added '', // Optional version number true // Load this into the footer for speed purposes ); 

Это похоже на хороший учебник по enqueuing .