我已经获得了以下MVC Razor代码,而我想要做的是将表中所有隐藏值的列表放入JS列表中。
我最终能够获得所有隐藏字段的列表,但它还包括我不需要的页面上的一些其他隐藏字段。我如何将其缩小到只有隐藏字段的ID =" RID"如果我能得到那些隐藏字段的值,那将会更有帮助。
以下是我写出表格的原因
flyTo
这是我用来获取所有隐藏字段列表的JS。
<tr>
<td>@item.Base</td>
<td>@item.Seat</td>
<td>
@item.Equipment
@Html.HiddenFor(m => m.RID, new { Value = item.RID })
</td>
</tr>
我从我发现的一个例子中尝试了这个,但它没有用。
let listItems = document.querySelectorAll('input[type="hidden"]');
答案 0 :(得分:1)
选择器中ID之前的空格会破坏它,因为空白空间会导致它查找具有该ID的input
的后代。删除空格会检查元素本身的ID。
'input[type="hidden"]#RID'
虽然ID应该是唯一的,但.querySelectorAll
会搜索并返回具有相同ID的多个元素。尽管如此,将id
变成class
并选择那种方式会更好一些
要获取值,请使用Array.from
,并将函数作为返回值的第二个参数传递。
let elems = document.querySelectorAll('input[type="hidden"]#RID');
let vals = Array.from(elems, el => el.value);