试图在 ASP.NET MVC 中检索我的 DropDownList 的选定值。我正在使用以下代码:
HTML
grid.Column("Other", header: "Other", format: @<text>@Html.DropDownList("OtherKey", (IEnumerable<SelectListItem>)ViewBag.OtherKeysList, new { @class = "extra-class" })</text>)))
结果如下:
尝试使用以下代码检索我的 DropDownList 的选定值(在本例中:otherkey3、otherkey2、otherkey1):
<script type="text/javascript">
var dict = [];
$('#btnSubmit').click(function (e) {
$('#tableID > tbody > tr > td').each(function () {
$('#OtherKey > option').each(function () {
console.log(($(this).val()));
});
});
});
</script>
但是,这不起作用,我得到以下输出:
有没有人看到我做错了什么?
提前致谢!
这里有几个问题。首先,您将获得每个的值,<option>
因此它将始终返回所有选项,无论是选择的还是其他的。.val()
在<select>
自身上使用以获取当前选定的值:
console.log($('#OtherKey').val());
但是,您似乎也在OtherKey
HTML 中重复使用ID。查看服务器端代码生成的实际 HTML。如果 ID 不是唯一的,那么使用这些 ID 的 JavaScript 代码的行为是未定义的。
您的元素似乎正在使用 a class
,因此您可以改用它。(如果这些元素不是唯一的,那么您可以为它们分配一个额外的类。)像这样:
$('.extra-class').each(function () {
console.log(($(this).val()));
});
还需要注意的是你没有在表中的行需要循环,并通过<select>
元素,只是后者是罚款。除非您出于此处未显示的其他原因特别需要标识您的表格行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句