Как получить доступ к значению из цикла Foreach для скрытого ввода? - PullRequest
0 голосов
/ 23 января 2019

Здесь я пытаюсь получить значение из скрытого типа input <input type="hidden" id="msg" value="1" />, которое находится внутри цикла foreach и внутри строки таблицы, используя jquery. Но мой сценарий ничего не возвращает.
Так что любая помощь с моим подходом будет отличной помощью.

Ниже мой HTML

@foreach (var item in Model)
{
<tr>
    <input type="hidden" id="msg" value="1" />
    @Html.HiddenFor(x => item.studentid, new { @id = "studentidforRejectectionadmission" })
    <td>@Html.DisplayFor(modelItem => item.fullname)</td>
    <td>@Html.DisplayFor(modelItem => item.classname)</td>
</tr>
}



Ниже мой скрипт для доступа к значению

$("tr").find('input#msg').val();

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Удалите id и поместите class , потому что идентификатор уникален в HTML и класс может повторять имя класса в любых элементах

 @foreach (var item in Model)
    {
    <tr>
        <input type="hidden" class="msg" value="1" />
        @Html.HiddenFor(x => item.studentid, new { @id = "studentidforRejectectionadmission" })
        <td>@Html.DisplayFor(modelItem => item.fullname)</td>
        <td>@Html.DisplayFor(modelItem => item.classname)</td>
    </tr>
    }

теперь вы можете получить доступ к входному значению с помощью селектора jquery eloquent

let val = $("tr").find('.msg').eq(0).val();
console.log(val);
0 голосов
/ 23 января 2019

Как уже упоминалось в комментариях, у вас есть тот же идентификатор "msg".Вместо того, чтобы использовать несколько идентификаторов, я бы предложил вместо этого использовать класс «msg» для ввода.

Если важно, чтобы вы соответствовали, как вы сделали со строкой таблицы, то введите с идентификатором msg:

$("tr").find('input#msg').val();

Эквивалент будет

$("tr > input.msg").val();

. Если вы хотите получить доступ к конкретному скрытому вводу, вы можете получить доступ как:

$("tr > input.msg")[1].value;

Чтобы показать вам, как это работает, я создал dotnetfiddle длявы.Возможно, проблема, с которой вы столкнулись, заключается в том, что вы пропустили создание тега таблицы, окружающего ваш код, для правильной работы, иначе у вас не будет строки таблицы ... https://dotnetfiddle.net/Jt7KGp

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