wp_dropdown_categories - 将类别ID传递给javascript

时间:2015-04-17 15:01:42

标签: javascript jquery wordpress

只是假装这个。我有一个带有下拉列表的页面,其中显示了我的自定义分类。选择某个项目时,我希望该页面从该分类中的帖子加载the_content。

到目前为止,我已经从所有内容中加载了内容,但是我似乎正在努力应对下拉列表。

在此页面模板上,我有一个使用wp_dropdown_categories的下拉列表:

                 <?php 
                 $args = array(
                    'taxonomy' => 'company',
                    'hide_empty'         => 0,
                    'orderby'            => 'NAME', 
                    'class' => 'chosen-select'
                 );

                 wp_dropdown_categories( $args ); ?> 

这列出了我的自定义分类中的所有类别,它们在HTML中列为:

<option class="level-0" value="7">Customer ABC</option>

我现在还得到了一些JQuery,当提示下拉列表发生变化时提醒我:

    $(".chosen-select").change(function () {
        alert("Hello");
    });

我想要做的是重新加载页面,以便我的PHP可以从自定义分类中获取类别ID并将其加载到我的循环中。 PHP是一个简单的部分,但是我已经有一段时间了,因为我已经完成了任何Javascript,而且我似乎有一点精神障碍。

我知道我需要使用

    $(".chosen-select").change(function(value) {
        window.location('?catid=' + value);
    });

重新加载页面,但我不能为我的生活弄清楚如何从Wordpress的下拉列表中获取类别ID并将其传递给我的函数。有什么指针吗?

1 个答案:

答案 0 :(得分:2)

您需要获取当前元素的值。您可以使用$(this)选择当前元素,然后使用.val()来获取其值。

请参阅以下修改后的代码:

$(".chosen-select").change(function(value) {
    window.location = window.location.origin + window.location.pathname + '?catid=' + $(this).val();
});

请参阅jQuery valjQuery Object

更新:修改了上面的代码,使用originpathname来获取无查询的网址,以避免重复和冲突。