簡體   English   中英

如何通過 jQuery 獲取文本元素的當前值

[英]How do I get curent value of text element via jQuery

我有文本輸入元素,並且在模糊事件和用戶按下輸入時觸發了一個事件。

我的問題是,如果用戶輸入“foo”並按下 enter val() function,在模糊事件val()返回 foo 之后仍然返回 null。 據我了解,這是由於 HTML 輸入元素的值屬性僅在失去焦點時才會更新。 你能給我一個解決方法嗎?

這是我使用的確切代碼:

var meetmove_address_field_listener = function(e){
    var type = $(this).attr('data-marker-type');;
    var value = $(this).val();
    meetmove_map.geocodeAddress(type, value);
};

$(document).ready(function(){
    $('input[data-type="name"]').blur(meetmove_address_field_listener);
    $('input[data-type="name"]').keypress(function(event){
        if (event.which == 13){
            event.preventDefault();
            meetmove_address_field_listener(event);
            return false; 
        }
    });
});

該值可以立即訪問,您只需要使用正確的處理程序即可。 .keypress()將在字符顯示在輸入中之前觸發。 嘗試.keyup()而不是.keypress() ,它應該可以工作。

好吧,Sudahir 的回答真的解決了我的問題 --- 我誤用了 $(this) 引用,它根據上下文改變了含義。 Bu 他刪除了他的答案,所以這里是工作代碼:

$(document).ready(function(){
    $('input[data-type="name"]').blur(meetmove_address_field_listener);
    $('input[data-type="name"]').keyup(function(event){
        if (event.which == 13){
            event.preventDefault();
            var type = $(this).attr('data-marker-type');
            var value = $(this).val();
            meetmove_map.geocodeAddress(type, value);
            return false;
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM