onchange = "Form.submit() 仅适用于我的下拉菜单中的第一个子下拉菜单
Posted
技术标签:
【中文标题】onchange = "Form.submit() 仅适用于我的下拉菜单中的第一个子下拉菜单【英文标题】:onchange = "myForm.submit() only working for the first subdropdown in my dropdown menu 【发布时间】:2019-06-17 17:17:19 【问题描述】:我有一个包含 5 个团队名称的下拉列表,然后是一个包含每个团队中人员姓名的子下拉列表。 我正在尝试使表单正常工作,以便当您单击某人的姓名时,您可以看到他们的统计信息。
下拉列表中的第一个团队完美运行。其他四个没有。无论哪个团队目前占据榜首位置,这种情况都会持续存在。 如果我从非工作团队中选择一个团队成员,页面仍然会刷新,但数据不会改变。
使用 chrome 开发人员工具,我可以看到,如果我从***团队中选择一个团队成员,则 html 中的选项将变为已选择的选项。如果我从任何其他团队中选择一个团队成员,则不会发生这种情况。 但是,如果我在非工作团队上添加另一个功能,显示所选人员的姓名,然后从非工作团队中选择一个团队成员,那就行了!
当不同的div
s 具有相同的 ID 时,我也看到过类似的问题。这些div
s 没有相同的 ID,但它们都具有相同的名称(由我将用户 ID 传递到的类自动生成)
大家觉得呢?
我的前两个团队的 HTML:
<form id="myForm" method="post">
<div class="dropdown">
<div class="yourteam">
<h3>Teams</h3>
</div>
<div class="dropdown-content">
<div class="dropdown-submenu">
<a class="test" tabindex="-1" href="#">Team1 <span class="caret"></span></a>
<div id='Team1' class="dropdown-menu">
@Html.DropDownListFor(n => n.User, new SelectList(Model.1Members, "Value", "Key"), "Team Members", new @class = "namedrop", @id = "Name1", onchange = "myForm.submit()" )
</div>
</div>
<div class="dropdown-submenu">
<a class="test" tabindex="-1" href="#">Team2 <span class="caret"></span></a>
<div id='Team2' class="dropdown-menu">
@Html.DropDownListFor(n => n.User, new SelectList(Model.2Members, "Value", "Key"), "Team Members", new @class = "namedrop", @id = "Name2", @onchange = "myForm.submit()" )
</div>
</div>
<!-- The rest of the teams -->
</div>
</div>
</form>
【问题讨论】:
由于表单有多个具有相同名称的元素,它很可能在服务器端被解释为一个值数组。检查服务器是否正确处理发布的数据 只是更改不同元素的名称会更容易吗?还是因为我使用了 HTML.DropdownListFor 而这不起作用? 您正在使用 DDLF 绑定到同一个属性,为什么不将它们组合成一个SelectList
并使用多个选择?我认为你不能在同一个表单上拥有 2 个同名的 DDLF。
它的语法是什么样的?抱歉,我对此很陌生。
如果您想要多个选择,请尝试使用 ListBoxFor
(LBF) 而不是 DropDownListFor
(DDLF)。但是,如果你想从多个下拉列表中绑定,你应该使用for
循环并绑定到列表/值数组。
【参考方案1】:
onchange = "myForm.submit()"
你在 onchange 之前错过了@
【讨论】:
以上是关于onchange = "Form.submit() 仅适用于我的下拉菜单中的第一个子下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章
访问 vba:为啥 form_delete sub 运行两次
HTML 动态创建select,然后添加onChange,如何添加onChange函数成功啊?
hidden类型的input控件onchange事件为何不起作用?