2012-12-15 17 views
0

執行時不起作用。我正在運行jquery 1.3.2,當我嘗試檢索<textarea>的值時,我得到TypeError: $(...).val is not a function。 .click()之外的函數工作正常,但是當我單擊鏈接時,出現錯誤。.val當由.click

var textbox = 'textarea#Comments'; 
var get = $(textbox).val(); 
alert(get); 
$(textbox).after('<a href="#" id="link">Get text</a>'); 
$('a#link').click(function() { 
    var get = $(textbox).val(); 
    alert(get); 
}); 

編輯︰問題是由Firefox的JavaScript控制檯引起的。將代碼放在網站上並運行它可以解決問題。

+3

任何理由使用的jQuery 1.3.2? –

+0

此選擇器看起來不正確:'a。#link' –

+1

您應該升級到1.8.2 –

回答

1

試試這個,

$('a.#link').click(function() { 
    var get = $('textarea#Comments').val(); 
    //or var get = textbox.val(); 
    alert(get); 
}); 
+0

這沒有奏效。同樣的錯誤。 –

+0

我沒有看到它。你所做的只是拋棄一個變量。沒有任何改進。 –

+0

您的代碼正在使用jQuery 1.6.4,您可能需要升級,http://jsfiddle.net/rajaadil/VK6Rr/ – Adil

-1

的問題是在創建HTML DOM ...

來觸發HTML DOM創建由JavaScript必須使用.live() 和代碼必須是這個樣子:

$('a.#link').live('click',function() { 
    var get = $(textbox).val(); 
    alert(get); 
}); 

不僅如此,好運

+0

這不是必需的,因爲click-event處理程序添加在結尾處,鏈接後被創建並插入到dom中。 –

-1

我認爲在你的選擇器上綁定點擊處理器時出現錯誤。

$('a.#link').click(function() { 

a後,一個額外的.

將其更改爲

$('a#link').click(function() { 
+0

更改這並沒有解決它。同樣的錯誤。 –

+1

@JackCole,但這是一個修復。 –

+0

你是否正在顯示代碼?或者你改變了什麼?你確定'textbox'變量在點擊函數中有一個有效值嗎?嘗試給它一個字符串文字'textarea#Comments'而不是變量值? – BuddhiP

相關問題