因此,下拉菜单显示所有选项(年,月),但是当我选择它时什么都不做。该页面不会加载到正确的选项。
这里是代码,我想这样的东西不见了,但不知道在哪里添加它 选择onchange =' document.location.href = this.options [this.selectedIndex] .value;'
$elem_m = ($args['display_as_dropdown'] === true ? 'select' : 'ul');
$elem_i = ($args['display_as_dropdown'] === true ? '<option value="%s">%s%s</option>' : '<li> <a href="%s">%s</a>%s</li>');
$html = sprintf('<%s>', $elem_m);
foreach(array_slice(($args['order'] === 'desc' ? array_reverse($archives) : $archives), 0, ($args['limit'] === 0 ? NULL : $args['limit'])) as $archive)
{
if($args['type'] === 'yearly')
{
$link = em_get_event_date_link($archive);
$display = $archive;
}
else
{
$date = explode('-', $archive);
$link = em_get_event_date_link($date[0], $date[1]);
$display = $wp_locale->get_month($date[1]).' '.$date[0];
}
$html .= sprintf(
$elem_i,
$link,
$display,
($args['show_post_count'] === true ? ' ('.$counts[$archive].')' : '')
);
}
$html .= sprintf('</%s>', $elem_m);
return $html;
答案 0 :(得分:0)
我创建了一个小提琴,可以帮助您实现问题的写入解决方案:
<select onchange="changePage(this)">
<option value="http://www.google.com">Google</option>
<option value="http://www.yahoo.com">Yahoo</option>
</select>
<script>
function changePage(e) {
window.location = e.selectedOptions[0].value;
}
</script>
您需要将onchange事件添加到select元素,并将该元素作为参数发送到js函数,该函数将用户重定向到所选值。