2015-09-29 2 views
-1

Я пытаюсь создать раскрывающееся меню, которое изменяет атрибут href на кнопке. Я новичок в jQuery, и я копировал и вставлял коды, не понимая, как это работает.jQuery Как изменить атрибут href из выпадающего меню?

Вот мой Pastebin: http://pastebin.com/53es3gLi

Вот Полная версия: http://pastebin.com/trieK16d

Есть ли способ изменить HREF значение # btnLink, основываясь на результатах выпадающего меню? Когда я использую

$("#btnLink").attr("href", $('#Link'); 

Он заменяет мою связь с [Объект% 20% Object], но если я заменить $ ('# Link') со ссылкой, он работает, но это стационарная связь. Он не зависит от выпадающего меню.

Также может кто-нибудь помочь объяснить бит jquery в коде, я хотел бы знать, как его использовать и почему он используется. Заранее спасибо

+0

Вы пропустили закрывающую скобку, и вы должны получить значение: '$ ("# btnLink") атр;' – D4V1D

+0

. ("HREF", $ ('# Link') Val().) '$ (" # btnLink "). attr (" href ", $ ('# Link');' у вас отсутствует закрытие ')' – vol7ron

+0

$ ("# btnLink"). attr ("href", $ ('#Link') Val()). – Omidam81

ответ

1

вы устанавливаете объект JQuery, а не значение поля Link.

$("#btnLink").attr("href", $('#Link').val()); 
+0

Я пробовал это, но ссылка на кнопку не меняется. – WebApprentice

+0

Просьба проверить это: http://jsfiddle.net/8pjt878s/ Вы также должны поместить код внутри прослушивателя изменений. – Orland

+0

После проверки jsfiddle, это решение сработало, спасибо вам большое. Я вижу, что вы поместили $ ("btnLink") в переменную $ ('# File'). (Функция, которая имеет смысл теперь, когда я смотрю на нее. – WebApprentice

2

Попробуйте $("#btnLink").attr("href", $('#Link').val());

О, и я пропустил последнюю часть вашего вопроса:.

  • $("#btnLink") является такой же, как говорят «каждый DOM элемент, идентификатор„#btnlink“Это .., как мы выбираем материал в JQuery
  • .attr("href" означает атрибут «HREF» элементов мы выбрали перед тем
  • $('#Link').val() относится к другому набору элементов DOM: «все, что с # ID ссылки. В вашем случае это относится к полю ввода.
  • .val() возвращает значение внутри указанного поля ввода.
-2

$ ('# Link') возвращает объект jQuery, поэтому вы получаете строку «[Object% 20% Object]» как значение, установленное в атрибуте href. Если вы пытаетесь установить один из ссылки HREF других ссылок HREF вы можете попробовать

$("#btnLink").attr("href", $('#Link').attr('href')); 
1

$('#Link') возвращают объект JQuery и вы устанавливаете значение как объект JQuery, который приводится к строке, поэтому значение [Object %20% Object]. Для того, чтобы установить значение текстового поля с атрибутом href использовать val() на Link элемент

$("#btnLink").attr("href", $('#Link').val()); 
//         ^^^^^^ 
+0

Я действительно пытаюсь получить значение href из текстового поля. В текстовом поле отображаются ссылки правильно, но я не могу изменить ссылку на мою кнопку в том, что отображается в текстовом поле. Надеюсь, я объясню это правильно. – WebApprentice

+0

@WebApprentice Добавить полный код в вопрос – Tushar

+0

@WebApprentice Чтобы это сработало, URL должен присутствовать в текстовом поле – Tushar

Смежные вопросы