使用jQuery更新Input的Value属性

时间:2015-01-26 21:06:44

标签: javascript jquery html jquery-selectors

我试图用jQuery更新表单输入的值。这是我的HTML:

<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 个答案:

答案 0 :(得分:0)

使用val()获取输入值,使用text()设置文本。所以这适用于你的情况:

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

答案 1 :(得分: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 />

答案 2 :(得分:0)

您可以尝试使用此代码,每次在input1上键入内容时,您在input2上获得相同的值

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


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


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
</script>

<script type="text/javascript">
   $(function() {
     $("#input1").change(function() {
       var input1 = $("#input1").val();
     $("#input2").val(input1);
   });
});
</script>