2015-01-26 68 views
-3

我正在嘗試使用jQuery更新表單輸入的值。這是我的HTML:使用jQuery更新輸入值的屬性

<div class="form-group"> 
    <label for="fb-updateDefaultValue">Default Value</label> 
    <input type="text" class="form-control" id="fb-updateDefaultValue"> 
</div> 

這裏是我的jQuery:

var currentDefaultValue = formElement.find('input').attr('value'); 
alert(currentDefaultValue); //This is just used to verify my code is working. This line does successfully alert the value in the input attribute 
$("#fb-updateDefaultValue").val(currentDefaultValue); //This line is not updating the value attribute of the input even though the alert has the correct value 

出於某種原因$("#fb-updateDefaultValue").val(currentDefaultValue);不工作。有什麼建議麼?

+3

您設置的值相同! – sbaglieri 2015-01-26 21:07:44

+0

@sbaglieri我知道,我試圖將一個輸入字段的當前值設置爲另一個。 – three3 2015-01-26 21:10:20

+2

'Val'用於輸入。標籤不是輸入。改用'text'代替。 – 2015-01-26 21:10:48

回答

0

使用val()來獲得輸入值和text()來設置文本。因此,這將工作你的情況:

$(".form-group label").text($(".form-group input").val()) 
0

如果我理解正確的話,你正在嘗試做這樣的事情...

我認爲問題的一部分是,你不必附加的事件處理程序。在下面的示例中,我將該功能附加到按鈕單擊。

$("#button").click(function(){ 
 
    $("#input2").val($("#input1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<label for "input1">Value 1</label> 
 
<input type="text" id="input1" /><br /> 
 

 
<label for "input2">Value 2</label> 
 
<input type="text" id="input2" /><br /> 
 

 
<input type="button" id="button" value="Update" />

在這個例子中,類似於第一,我向您展示如何可以自動更新值時的第一個輸入的值發生變化。

$("#input1").change(function(){ 
 
     $("#input2").val($("#input1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<label for "input1">Value 1</label> 
 
<input type="text" id="input1" /><br /> 
 

 
<label for "input2">Value 2</label> 
 
<input type="text" id="input2" /><br />

這只是兩個基本的例子,但根據您的意見,我認爲這個問題可能是你沒有一個事件處理程序分配。

另一種選擇是如果你只是想讓代碼運行一次。在這種情況下,您需要在加載DOM後運行代碼。你可以通過使用jQuery的ready()功能這樣

$(document).ready(function(){ 
 
    $("#input2").val($("#input1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<label for "input1">Value 1</label> 
 
<input type="text" id="input1" value="defaultValue" /><br /> 
 

 
<label for "input2">Value 2</label> 
 
<input type="text" id="input2" /><br />