Как уже упоминалось в комментариях, у вас есть тот же идентификатор "msg".Вместо того, чтобы использовать несколько идентификаторов, я бы предложил вместо этого использовать класс «msg» для ввода.
Если важно, чтобы вы соответствовали, как вы сделали со строкой таблицы, то введите с идентификатором msg:
$("tr").find('input#msg').val();
Эквивалент будет
$("tr > input.msg").val();
. Если вы хотите получить доступ к конкретному скрытому вводу, вы можете получить доступ как:
$("tr > input.msg")[1].value;
Чтобы показать вам, как это работает, я создал dotnetfiddle длявы.Возможно, проблема, с которой вы столкнулись, заключается в том, что вы пропустили создание тега таблицы, окружающего ваш код, для правильной работы, иначе у вас не будет строки таблицы ... https://dotnetfiddle.net/Jt7KGp