2013-07-30 36 views
0

我新的Javascript和我有一個問題傳遞變量從函數功能:的Javascript:從函數傳遞變量的功能

$(document).ready(function() { 
    $('input[type=checkbox]:checked').removeAttr('checked'); 
    var filename = document.getElementById("Tagg").value; 
    var checkboxesH = $('input[type="checkbox"][name="tags[]"]'); 

    checkboxesH.change(function() { 

     $('input[type="text"][name="tags"]').val(filename); 
     var current = checkboxesH.filter(':checked').length; 
    }); 
}); 
在checkboxesH.change功能

,文件名總是空!爲什麼?當頁面打開時,textfield標籤中有一個字符串。 謝謝。

+0

控制檯中的任何錯誤?輸入是否有'id ='Tagg'? ready函數中的console.log(文件名)會打印什麼? –

+3

看起來應該可以工作。你應該提供更多信息。現在只是一個建議:如果您使用的是jQuery,請堅持jQuery:使用$(「#Tagg」)。val()'代替。 – MaxArt

+0

「Tagg」是什麼元素?請顯示它的html。 – nnnnnn

回答

0

JavaScript在函數創建時傳遞變量的值。要解決這個問題,您應該直接在您的.change()函數中調用

document.getElementById("Tagg")).value 

。這樣,它就會在更改時反映狀態,而不是在創建更改事件處理程序時。

+0

是的,但我只需要變量的初始值,並在每次調用change()函數時使用它,它應該很簡單,當我要存儲在vari中的頁面加載時,文本框中的值能夠使用的文件名並在change()函數中使用它。 – caj