2015-09-29 37 views
-1

我試圖做一個下拉菜單,改變按鈕的href屬性。 我是jQuery的新手,我一直在複製和粘貼代碼而不理解它是如何工作的。jQuery如何從下拉菜單更改href屬性?

這裏是我的引擎收錄: http://pastebin.com/53es3gLi

以下是完整版本: http://pastebin.com/trieK16d

有沒有辦法基礎上,下拉菜單的結果改變#btnLink的href值?當我使用

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

它取代了我的[對象%20%對象]鏈接,但如果我有一個鏈接替換$(「#鏈接」),它的工作原理,但它是一個固定的鏈接。它獨立於下拉菜單。

也可以有人幫助解釋代碼中的jquery位,我想知道如何使用它以及爲什麼使用它。在此先感謝

+0

你缺少一個右括號,你應該檢索值:'$( 「#btnLink」)ATTR;' – D4V1D

+0

。( 「HREF」,$( '#鏈接')VAL())。 '$(「#btnLink」)。attr(「href」,$('#Link');'你錯過了一個關閉''' – vol7ron

+0

$(「#btnLink」)。attr(「href」,$ '#LINK')VAL())。 – Omidam81

回答

1

你設置的jQuery對象,鏈接場的不是值上使用val()

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

我試過這個,但按鈕鏈接不變。 – WebApprentice

+0

請檢查一下:http://jsfiddle.net/8pjt878s/您還應該將代碼放入更改偵聽器中。 – Orland

+0

檢查完jsfiddle後,這個解決方案奏效了,非常感謝。我看到你把$(「btnLink」)放到$('#File')中。change(函數,現在我看它是有道理的。 – WebApprentice

2

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

哦,我錯過了你的問題的最後一部分:

  • $("#btnLink")是一樣的說:「每一個DOM元素ID爲‘#btnlink’這是。
  • $('#Link').val()我們如何在jQuery的選擇的東西
  • .attr("href"指的元素,我們之前選擇的屬性的「href」指的是另一組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屬性鏈接元素

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

我實際上試圖從文本框中獲取href值。文本框顯示鏈接正確,但我無法更改我的按鈕鏈接到文本框中顯示的內容。我希望我能正確解釋這一點。 – WebApprentice

+0

@WebApprentice在問題中添加完整代碼 – Tushar

+0

@WebApprentice爲了達到這個目的,網址應該出現在文本框中 – Tushar