2012-05-29 70 views
5

HTML:jQuery。在按鈕點擊事件上獲取文本輸入字段的值?

<div id="search"> 
    <input id="term" type="text" value="enter your search" /> 
    <button id="hit" type="button" name="">Search</button> 
</div> 

的jQuery:

$(document).ready(function() { 
    var term = $('#term').val(); 
    $('#hit').click(function() { 
    alert(term); 
    }); 
}); 

的問題是,不管我在輸入字段中鍵入,然後按下按鈕,它總是提醒原輸入值是「輸入你的搜索「。

我該如何解決?

回答

15

您遇到的問題是,這整個代碼塊在DOM就緒事件執行。

var term = $('#term').val();正在評估一次,並在術語變量中存儲'輸入您的搜索'。這就是爲什麼無論您將值更改爲何值,該變量在頁面呈現時仍保持初始值。

相反,你應該做的是更多的東西像下面這樣:

JQuery的

$(document).ready(function() { 
    $('#hit').click(function() { 
    alert($('#term').val()); 
    }); 
}); 

在這段代碼,與ID項元素的值進行評估時,click事件偵聽火災。

3

你需要得到click的價值,而不是document ready

$(document).ready(function() { 
    $('#hit').click(function() { 
    var term = $('#term').val(); 
    alert(term); 
    }); 
}); 
5

因爲創建的變量只是當文檔準備好.. 嘗試創建點擊函數內部變量「術語」。 ..

$(document).ready(function() { 
     $('#hit').click(function(event) { 
      var term = $('#term').val(); 
      alert(term); 
     }); 
    });​ 
相關問題