2012-07-12 19 views
0

我目前通過javascript設置了一個文本框值。但是當我嘗試使用 $(「#idField」).val()獲得該值時,我得到空值。

我該如何獲得這些文本框的價值?

我想做的事是like this

+0

*應該*工作,你的相關輸入的HTML是什麼?什麼是分配值的jQuery?它是否正確/成功分配? – 2012-07-12 03:29:02

+0

我在文檔準備好時調用了jquery自動完成功能,這是對onclick操作的響應。該領域成功分配。問題是我嘗試獲取由jquery自動完成設置的那些值在外部函數 – 2012-07-12 03:36:34

回答

0

確保您#idField存在(唯一ID)

.val()只有輸入/選擇/ textarea元素的作品,如果你想要的文字只是使用的.text() ,如果你想html只使用.html();

<script type="text/javascript" charset="utf-8"> 
    jQuery(document).ready(function($){ 
     var user_name = $('#user_name').val(); 

     alert(user_name); 
    }); 
</script> 
<label for="user_name">Label</label> 
<input type="text" name="user[name]" value="User name" id="user_name"> 
0
  • 確保jQuery庫正確包括在內。

  • 確認您在嘗試訪問textfield值之後爲其分配一些值,而不是在分配之前。

  • 確保您的ID是唯一的。

  • 將值設置爲textfield的語法是:$("#idField").val('some value')

  • 設置後您可以獲得價值。

  • 如果你想分配使用任何variable值,檢查variable有一定的價值,或者是null

    var myVar = 'some value'; 
    $("#idField").val(myVar); 
    
  • 嘗試使用螢火/諸如此類調試器來捕捉錯誤(如果你沒有得到任何運氣)

0

.val()不帶參數得到值:要使用變量設置值在調用該函數時,如果您的「#idField」元素尚未解析,則$("#idField")將不會找到它,然後.val()將爲undefined。這就是爲什麼您需要運行腳本來處理文檔就緒處理程序或正文結尾處的腳本塊中的DOM。

在你擺弄的情況下,它真的不清楚你想要做什麼,而是你在聲明和初始化的變量field_one_val

var field_one_val = $("#field_one").val(); 

...在頁面加載,此時場實際上是空的,所以field_one_val結束爲空字符串。

點擊廣告的處理程序中使用該變量:

$("#field_two").val('val '+field_one_val +' added to this field'); 

...但它仍然是一個空字符串。

如果你正在嘗試做的是在第二場的點擊獲得的第一個字段的值,在那一刻,那麼這樣做:

$("#field_two").val('val ' + $("#field_one").val() + ' added to this field'); 

正如在這個更新的演示圖所示:http://jsfiddle.net/g3vng/2/

+0

真正的問題是我如何將'field_one'值賦給變量'field_one_val',所以我可以使用該參數作爲ajax後期或獲取數據。 – 2012-07-12 05:09:42

+0

在Ajax調用之前立即在與Ajax post/get相同的函數中分配變量。正如我上面所說的,你需要在time_中得到'.val()',而不是在頁面加載時將它賦值給一個變量。 – nnnnnn 2012-07-12 05:39:54

相關問題