Jquery select href build Jquery select href build

#jquery

#jquery

Вопрос:

Я довольно новичок в jquery, поэтому, возможно, я совершаю простую ошибку, но, похоже, я просто не могу ее найти. На данный момент у меня есть выпадающий список выбора, который я хочу отправить пользователю по URL-адресу, созданному на основе выбранного им варианта. На данный момент у меня есть это для моего 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');
});
  

У меня там есть мои оповещения, чтобы я мог видеть, как все было собрано воедино. Когда я доберусь до своего фактического окна.расположение в построенном URL-адресе содержится [object Object] . Итак, любая помощь была бы высоко оценена несколько новым пользователем jquery.

Комментарии:

1. знаете ли вы, что вы можете получить выбранное значение из выпадающего списка в jQuery, не углубляясь в параметры? в вашем случае просто вызовите $(this).val(); внутри функции изменения.

2. спасибо, я этого не делал, вот почему я люблю stackoverflow, кто-то всегда чему-то меня учит

Ответ №1:

Почему бы не отправлять своих пользователей напрямую в singleUrl переменную?

 window.location = singleUrl;
  

Я не совсем уверен, что вы пытаетесь сделать в последней строке:

$(this).find('option:selected') вернет выбранный li элемент, но он будет возвращен как объект. Вам нужно будет использовать .val() то, что вы делали ранее, чтобы вернуть значение li .

Во второй части .attr('href', 'singleUrl') будет предпринята попытка найти href атрибут li элемента (который не существует) и установить его значение в singleUrl , что на самом деле ничего для вас не даст.

Комментарии:

1. Это сработало именно так, как должно было. Я просто пытался установить href, когда вы спрашивали, что я там делаю, но, похоже, я все делал неправильно. Спасибо за вашу помощь, я очень новичок во всем этом

2. Рад, что это сработало! Продолжайте, чем больше вы работаете с jQuery, тем более интуитивно понятным и увлекательным становится процесс.

Ответ №2:

singleUrl является переменной, а не строкой. Измените на:

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