簡體   English   中英

單擊按鈕時,將值從一個文本字段復制到另一個文本字段

[英]Copy value from one text field to another when button clicked

當單擊 div 時,我試圖將一個字段復制到另一個字段,但我目前擁有的代碼無法正常工作。 它在 field1 中顯示“0”,即使 field2 默認設置為 1。

$(document).on('click', '#button', function() {

$('#textfield1').val === "document.getElementById('#textfield2').value";

嘗試:

$(document).on('click', '#button', function() {
    $('#textfield1').val($('#textfield2').val())
});

您在這里使用了 JS 和 jQuery 的奇怪組合。

您的主要問題是val()是一種方法,而不是屬性。 因此,您的代碼應如下所示:

$(document).on('click', '#button', function() {
  $('#textfield1').val($('#textfield2').val());
});

我強烈建議您熟悉jQuery 文檔,特別是本例中的val()

它在 field1 中顯示“0”,即使 field2 默認設置為 1。

您正在為$('#textfield1').val方法分配一個字符串,這就是為什么您的代碼對textfield1的值沒有任何影響的原因。

讓它

$(document).on('click', '#button', function() {
   $('#textfield1').val( $('#textfield2').val()); //use jquery val method
}

一般來說,JQuery 只提供函數,而不提供屬性(如@Craicerjack 所述),因此刪除===並將新值作為參數傳遞,如下所示:

$('#textfield1').val("yourText");

此外,您正在向Document.prototype.getElementById() function傳遞一個 CSS 選擇器,而不僅僅是一個元素 ID。 刪除那個#限定符!

此外,您不應使用字符串化的 JavaScript 表達式作為值,否則您將獲得精確的 JS 表達式作為輸入值。 相反,不要將這些引號放在表達式周圍,以便解釋器對其進行評估。 下面是一些工作代碼。

$('#textfield1').val(document.getElementById('textfield2').value);

但是,正如@Rory McCrossan 指出的那樣,您使用的是普通 DOM 和 JQuery 的奇怪組合,這是沒有意義的。 使用 JQuery 讀取其他文本字段的值會更一致,如下所示:

$('#textfield1').val($('#textfield2').val());

或者,您可能不需要 JQuery 並選擇標准 DOM 接口,如下例所示:

document.getElementById('textfield1').value = document.getElementById('textfield2').value;

暫無
暫無

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

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