Как выбрать элемент раскрывающегося меню с помощью jQuery, в галерее изображений WordPress?

Как выбрать элемент раскрывающегося меню с помощью jQuery в галерее изображений WordPress?

Сначала посмотрите скриншот, чтобы увидеть, что я пытаюсь выбрать:

введите описание изображения здесь

В WordPress, когда я нажимаю New Post, затем кнопку Add Media, во всплывающей галерее изображений появляется раскрывающееся меню фильтрации изображений; Я хочу автоматически выбрать. элемент «Unattached» при загрузке этого всплывающего окна.

У меня проблемы с тем, чтобы это произошло. До сих пор в файле functions.php моей темы у меня был вызов к файлу .js с кодом jQuery.

 function my_custom_scripts() { wp_enqueue_script( 'my-custom', THEMATER_URL . '/js/custom.js', array('jquery'), '1.0.0', true ); } add_action('wp_enqueue_scripts', 'my_custom_scripts'); 

Тогда в файле .js у меня есть:

 jQuery(document).ready(function($) { $('#media-attachment-filters').prop('selectedIndex', 6); // select 5th option }); 

Но ничего не происходит. Чего мне не хватает?

Обновить:

Основываясь на коде Кристиана Нгуена, я выбрал нужный элемент, но на самом деле он не сортирует галерею изображений на основе этого выбора, поэтому он просто «выделяет» элемент. Я предполагаю, что это не вызывает некоторое OnClick / OnSelect . Я пытался добавить .trigger('change') , но все равно не радости. Кто-нибудь также знает, как заставить это фактически делать это?

Пока что у меня есть этот код, обратите внимание, что ВСЕ закомментированные элементы БУДУТ выбирать элемент, просто не было никакого фактического «выбора» для выполнения сортировки.

 /* When Insert Media button gets clicked ... */ $("#insert-media-button").on('click', function() { // Set a 'delay' of 0, {amp}amp; then call the function that selects the menu item. // NOTE: Skipping the setTimeout, {amp}amp; just directly call the selector doesn't work. setTimeout(function() { /* BUG: All 4 of the following WILL select the "Unattached" drop-down item, However, ALL pics still get loaded, instead of JUST the UNATTACHED pics, which is what we want. */ //$('#media-attachment-filters').attr('selected', 'selected').trigger('change'); //$('#media-attachment-filters').val('unattached'); //$('#media-attachment-filters').prop('selectedIndex', 5); //$('#media-attachment-filters{amp}gt;option:eq(5)').prop('selected', true); }, 0); }); 

Еще одно замечание: в моем случае .js также вообще не вызывался в административной области, потому что я по ошибке поставил его в очередь только для admin_enqueue_scripts интерфейса, мне пришлось использовать admin_enqueue_scripts чтобы получить .js для загрузки в область администратора (бэкэнд), где действие фактически происходит.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector