2012-08-20 6 views
1

Я использую следующую функцию:Как я могу получить значение, которое пользователь ввел в поле ввода с помощью JQuery

$.each($('.update-grid'), function (i, e) { 
var ID = e.id.replace('modal', 'input'); 
$("#" + ID).val(e.value); 
}); 

, чтобы получить значение, которое только что было введено в поле ввода, например, как это после того, представление формы. Требование состоит в том, чтобы принять это пользовательское значение и поместить его в другое поле. Например, передайте значение, введенное в # modal-title, в поле # input-title.

<input id="modal_Order_1" class="update-grid full-width" type="text" 
value="337" name="Content.Order" > 

Однако значение «e.value» дает мне значение 337, а не значение, которое пользователь вводил непосредственно перед отправкой формы.

Есть ли способ получить новое значение?

Update:

Это похоже на работу:

 $('.update-grid') 
      .each(function() { 
       var id = this.id.replace('modal', ''); 
       $('#input' + id).val(this.value) 
      }) 
+1

Когда это каждый цикл выполняется? – Asciiom

+0

Вы пытались прочитать значение, подобное этому? var newValue = $ ("#" + e.id) .val(); – Asciiom

+0

Вместо $ .each ($ ('. Update-grid'), функция (i, e) { Я бы сделал: $ ('. Update-grid'). Each (function (i, e) { –

ответ

0

Вы используете функцию .each неправильно. Вам нужно будет положиться на событие .change, это означает, что он будет запущен после внесения изменения (и поле теряет фокус).

Так дали код, я бы сказал:

$('.update-grid').change(function() { 

     var id = $(this).attr("id").replace('modal', 'input'); 

     var new_value = $(this).val(); 

     $('#' + id).val(new_value); 

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