#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);