Передача значения из одного входа в другой в jQuery - PullRequest
1 голос
/ 31 августа 2011

jsFiddle для справки:

http://jsfiddle.net/UxQV7/

Что я пытаюсь сделать, если пользователь нажимает «Добавить» во 2-й строке, то под ним отображается новый элемент формы.

Затем пользователь вводит число в этом новом элементе формы, нажимает кнопку «Добавить», после чего этот номер будет введен в поле ввода Serial # во 2-й строке, после чего новый элемент формы будет скрыт.

У меня возникла проблема, когда пользователь вводит число в этот новый элемент формы, как я знаю, чтобы отправить его обратно во 2-й ряд.

Большое спасибо.

Ответы [ 5 ]

2 голосов
/ 31 августа 2011

Вы можете сделать:

var index;
$(".addSerial").click(function(){
  index = $(this).closest('tr').index();
  console.log(index);  
   $("#serialAdd").toggle();
});

$("#submitSerial").click(function(){
   $('table tr:eq('+index+') input:first').val($("#serialToAdd").val());
   $("#serialAdd").toggle();
});

скрипка здесь http://jsfiddle.net/qWGKq/

1 голос
/ 31 августа 2011

Вы можете использовать jQuery prev(), чтобы получить целевой ввод и сохранить его:

var activeField;

$(".addSerial").click(function(){
   $("#serialAdd").toggle(); 
    activeField = $(this).prev();
    return false;
});

$("#submitSerial").click(function(){
   $("#serialAdd").toggle(); 
   activeField.val( $("#serialToAdd").val() ); 
    $("#serialToAdd").val("")
});

Демо: http://jsfiddle.net/7Xykw/

1 голос
/ 31 августа 2011

Вам нужно будет где-то сохранить эталонное значение (например, в глобальной переменной), чтобы указать, на какую <a> была нажата кнопка для отображения записи серийного номера <div> или создать ее динамически на лету и уничтожить.это потом.

1 голос
/ 31 августа 2011

Сохранить текущую строку в переменной, а затем отфильтровать текстовое поле, чтобы установить значение: http://jsfiddle.net/UxQV7/1/.

var currentRow; // will be <tr> of row where user has clicked on Add

$(".addSerial").click(function(){
   currentRow = $(this).parents('tr'); // set current row
   $("#serialAdd").toggle();
});

$("#submitSerial").click(function(){
   $("#serialAdd").toggle();
   currentRow.find(':text:eq(2)').val($('#serialToAdd').val());
   // find correct textbox in row and copy value
});
1 голос
/ 31 августа 2011

при визуализации этих элементов управления вам нужно иметь серийный номер для каждого элемента управления в id, чтобы вы могли легко идентифицировать элементы управления и добавлять значения.

Проверьте этот рабочий образец.http://jsfiddle.net/UxQV7/18/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...