2015-01-26 5 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

+0

@sbaglieri Я знаю, я пытаюсь установить текущее значение одного поля ввода в другое. – three3

+2

'Val' используется для входов. Ярлык не вход. Вместо этого используйте 'text'. –

ответ

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. Вы можете сделать это с помощью ready() функции JQuery в этом, как

$(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 />

Смежные вопросы