Добавление события onchange в настраиваемое раскрывающееся меню в WordPress

Я хотел бы добавить событие onchange в раскрывающееся меню, которое я создал через мой плагин WordPress. Поскольку это мой первый шаг в разработке WordPress, и у компании, в которой я работаю, есть высокий порядок для того, что они хотели бы, я изо всех сил пытаюсь понять, как это сделать.

Это то, что у меня есть: у меня есть плагин, который вводит базовый URL-адрес на сайт WordPress через короткий код. Плагин имеет страницу настроек администратора, которая позволяет пользователю изменять базовый URL-адрес. В php-файле моего плагина у меня есть функция, которая возвращает выпадающее меню и включает базовый URL-адрес:

function embed_url() { $dropdown_menu = '<select><option>OptionDefault</option><option value="?id=1">Option1<option value="?id=2">Option2</option></select>'; $full_url = '<object type="text/html" data=' . $embed_this_url . ' style="width:100%; height:100%"><p> URL could not be loaded. </p> </object>'; return $dropdown_menu . $full_url; } 

Переменная $ embed_this_url – это значение параметра, сохраненного в базе данных WP. Например, значение может быть « http://www.mysite.com ».

Я хочу: я хочу, чтобы мое раскрывающееся меню меняло встроенный веб-сайт. Используя вышеприведенный код, если пользователь выбирает вариант 1, внедренный сайт будет $ embed_this_url + '? Id = 1' (другими словами: http://www.mysite.com?id=1 ). Поэтому мне нужно добавить javascript, чтобы сделать функцию onchange, чтобы обновить с помощью $ embed_this_url плюс значение выбранного.

Как бы это реализовать?

Я добавил оболочку на ваш html-вывод, а затем написал код jQuery, который вы можете использовать –

 function embed_url() { $dropdown_menu = '<select><option>OptionDefault</option><option value="?id=1">Option1<option value="?id=2">Option2</option></select>'; $full_url = '<object type="text/html" data=' . $embed_this_url . ' style="width:100%; height:100%"><p> URL could not be loaded. </p> </object>'; return '<div class="site-url">' . $dropdown_menu . $full_url . '</div>'; } 

Код jQuery –

 jQuery(document).ready(function($){ $('.site-url select').on('change', function(){ var param = $(this).val(); var url = $('.site-url object').attr('data'); url += param; $('.site-url object').attr('data', url); }); });