Intereting Posts
Назначение персонализированного сообщения для пользовательской таксономии на основе настраиваемого значения поля Фоновая настройка не применяется ко всей высоте боковой панели Как сохранить несколько полей в мета-окне? Как получить список популярных плагинов с помощью WordPress.org Plugin API? orderby в пользовательском WP Query не работает wp_register_script не загружается, как ожидалось Как папки года и месяца добавляются в каталог загрузок? Переадресация страниц в архив по возрастанию Предупреждение: urlencode () ожидает, что параметр 1 будет строкой, заданный массив Включить «Мои блоги» в пользовательской установке Как временно скрывать доступ к моему веб-сайту? Миграция сайта Asp.Net на сайт WordPress Как загрузить другой файл страницы моего пользовательского файла плагина Есть ли глобальный файл functions.php, который работает для любой темы?

Код JQuery не загружается из WP, но запускается с консоли

Я пытаюсь получить значение и передать его на скрытый ввод, чтобы отправить данные формы через $ _POST. У меня есть кнопка выпадающего меню и следующий код, чтобы обновить значение:

jQuery(document).ready(function($){ var espSeleccionada = $('button[data-id="select-especialidad"]'); espSeleccionada.on("click", function() { // if changed to, for example, the last option, then // $(this).find('option:selected').text() == D // $(this).val() == 4 // get whatever value you want into a variable var x = $(this).text(); // and update the hidden input's value $('#boton-prueba').text(x); }); }); 

Код должен передавать значение с одной кнопки на другую, как показано здесь в примере, но, когда я загружаю код из WordPress, ничего не происходит. Вместо этого, когда я пишу его на консоли, он отлично работает. В консоли нет ошибок JS.

Обратите внимание, что я использую .text (), чтобы проверить, работает ли код, но он должен был иметь .val () перед тем, как начать жить.

Это кнопка HTML:

 <button type="button" class="btn dropdown-toggle btn-default" data-toggle="dropdown" data-id="select-especialidad" title="Hacienda" aria-expanded="false"><span class="filter-option pull-left">Hacienda</span></button> 

Вот пример.

ИЗМЕНИТЬ, ЧТОБЫ ОПРЕДЕЛИТЬ, КАК Я ЕСМЬ ДОБАВЛЯЮТ КОД К ВСПОМОГАТЕЛЬНОМУ ВОПРОСУ:

Я добавляю скрипт через functions.php. Это мой код:

 function loading_my_scripts() { wp_enqueue_style( 'buscopreparador-style', get_stylesheet_uri() ); wp_deregister_style( 'buscopreparador-style' ); if ( !is_admin() ) { wp_enqueue_style( 'styles', get_template_directory_uri() . '/assets/css/styles.css' ); wp_enqueue_style( 'vertical-tabs', get_template_directory_uri() . '/assets/css/bootstrap.vertical-tabs.min.css' ); wp_enqueue_style('bootstrap-select-css', 'https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/css/bootstrap-select.min.css' ); wp_enqueue_style( 'open-sans', 'https://fonts.googleapis.com/css?family=Open+Sans:400,600,600italic,400italic,700,700italic'); wp_deregister_script( 'jquery' ); wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', false, false, TRUE ); wp_register_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js', false, false, TRUE ); wp_register_script('bootstrap-tabcollapse', get_template_directory_uri() . '/assets/js/bootstrap-tabcollapse.js', false, false, TRUE ); wp_register_script('bootstrap-select', 'https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.min.js', false, false, TRUE ); wp_register_script('theme-js', get_template_directory_uri() . '/assets/js/theme.js', array('jquery'), false, TRUE ); wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'bootstrap' ); wp_enqueue_script( 'bootstrap-tabcollapse' ); wp_enqueue_script( 'bootstrap-select' ); wp_enqueue_script( 'theme-js' ); } if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'loading_my_scripts' ); 

Код находится в файле theme.js, который выглядит следующим образом:

 ( function( $ ) { var num_cols = 3, container = $('#menu-preparadores-de-oposiciones-en'), listItem = 'li', listClass = 'sub-list'; container.each(function() { var items_per_col = new Array(), items = $(this).find(listItem), min_items_per_col = Math.floor(items.length / num_cols), difference = items.length - (min_items_per_col * num_cols); for (var i = 0; i < num_cols; i++) { if (i < difference) { items_per_col[i] = min_items_per_col + 1; } else { items_per_col[i] = min_items_per_col; } } for (var i = 0; i < num_cols; i++) { $(this).append($('<ul ></ul>').addClass(listClass)); for (var j = 0; j < items_per_col[i]; j++) { var pointer = 0; for (var k = 0; k < i; k++) { pointer += items_per_col[k]; } $(this).find('.' + listClass).last().append(items[j + pointer]); } } }); if ($("body").hasClass("page-id-64")) { $('.tab-content').addClass('col-sm-9'); $('#custom-tabs-0').tabCollapse(); } } ) ( jQuery ); jQuery(document).ready(function($){ var espSeleccionada = $('button[data-id="select-especialidad"]'); espSeleccionada.on("click", function() { // if changed to, for example, the last option, then // $(this).find('option:selected').text() == D // $(this).val() == 4 // get whatever value you want into a variable var x = $(this).html(); // and update the hidden input's value $('#boton-prueba').html(x); }); }); ( function() { var is_webkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1, is_opera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1, is_ie = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1; if ( ( is_webkit || is_opera || is_ie ) && document.getElementById && window.addEventListener ) { window.addEventListener( 'hashchange', function() { var id = location.hash.substring( 1 ), element; if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) { return; } element = document.getElementById( id ); if ( element ) { if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) { element.tabIndex = -1; } element.focus(); } }, false ); } })(); 

Хорошо, код в порядке, проблема в том, что целевая button[data-id="select-especialidad"] используется путем выбора начальной загрузки и даже если загрузка скрипта перед моим кодом занимает несколько секунд или меньше, обрабатывать информацию.

Таким образом, код должен быть завернут после функции, которая проверяет, что событие было загружено. Это окончательный код:

 $('#select-especialidad').on('loaded.bs.select', function (e) { var y = $(this).val(); $('#select-especialidad-hidden').val(y); var espSeleccionada = $('button[data-id="select-especialidad"] > span.filter-option.pull-left'); espSeleccionada.on("click", function() { var x = $(this).text(); $('#select-especialidad-hidden').val(x); }); }); 

Загрузите здесь более подробную информацию о событиях, которые выбираются при загрузке .