2013-07-03 30 views
0

我試圖設置變量作爲用戶放入輸入框中的文本。所以我設置的頁面像這樣:jQuery .keyup爲每個輸入框頁

var1 = "" 

<input type="text" id="var1"> 

我想設置VAR1的價值無論用戶類型,但是我必須這樣設置多個輸入框。我不希望爲每個人單獨創建一個函數。任何想法如何爲頁面上的每個輸入框做到這一點

編輯:抱歉的混淆。我的意思是我也有多個變數。因此,例如,我有var1,var2,ect都帶有各自的輸入框

+0

呃,將var 1設置爲最後輸入的內容,不管是什麼ele輸入它,還是爲每個輸入創建一個新變量? – adeneo

+0

對不起,我做了一個編輯,以澄清@ adeneo – Charlie

回答

2

一種方式來做到這一點是保存在一個對象的值:

var savedValue = {} 
$('input').keyup(function(){ 
    savedValue[this.id] = $(this).val() 
}) 

然後你就可以存取權限會這樣:

savedValue.var1 
+0

有沒有簡單的方法來設置默認值? – Charlie

+0

@Charlie,你可以做'var savedValue = {var1:value};'但名字必須與你的id相同。 –

0

$('input').bind('keyup', function() { var1 = $(this).val()});應該這樣做。如果你想讓所有的值存儲在一個單一的變量,但不知道你是否有很多。

+1

[.on現在是首選](http://api.jquery.com/bind/#entry-longdesc) – mplungjan

1

您可能不想將值存儲在全局變量中。我假設你想爲每個輸入分別存儲值。所以..

$('input').on('keyup',function(){ 
    $(this).data('var1',$(this).val()); 
}) 

找回它

$('input').each(function(){ 
    var var1 = $(this).data('var1'); 
    //do something here 
})