Jquery选择href构建

时间:2011-05-25 13:17:58

标签: jquery

jquery相当新,所以我可能会犯一个简单的错误,但我似乎无法找到它。目前我有一个选择下拉列表,我想将用户发送到他们选择的选项构建的网址。目前我为我的jquery提供了这个:

    $('#sizeSelect').change(function () {
       var singleValue = $(this).find('option:selected').val();
       var singleUrl = '/products/length' + '~' + escape(singleValue);
       alert(escape(singleValue));
       alert(singleUrl);
       alert('/products/length' + '~' + escape(singleValue));
    window.location = $(this).find('option:selected').attr('href', 'singleUrl');
});

我在那里收到警报,让我看看一切是如何组合在一起的。当我到达我的实际window.location时,构建的url中包含[object%20Object]。所以任何帮助都会对一个有点新的jquery用户表示赞赏。

2 个答案:

答案 0 :(得分:3)

为什么不直接将您的用户发送到singleUrl变量?

window.location = singleUrl;

我不确定你在最后一行要做什么:

$(this).find('option:selected')将返回选定的li元素,但它将作为对象返回。您需要像之前一样使用.val()来返回li的值。

第二部分.attr('href', 'singleUrl')将尝试查找href元素的li属性(不存在),并将其值设置为singleUrl,真的不会为你做任何事。

答案 1 :(得分:0)

singleUrl是一个变量,而不是一个字符串。改为:

window.location = $(this).find('option:selected').attr('href', singleUrl);