gpt4 book ai didi

javascript - ASP.net razor 页面和多选,在选择中发布所有项目

转载 作者:行者123 更新时间:2023-12-01 08:30:35 24 4
gpt4 key购买 nike

我有一个表单,有两个选择,一个在左边,一个在右边。左侧一个用于列出要添加的项目,两个按钮,一个用于添加,一个用于使用一点 jQuery 将项目删除到另一个选择。两个选择都设置了 multiple="multiple" 属性。

问题是,当我提交表单时,只有在右侧选择中选择的项目才会发布在表单数据中,这是预期的。我添加了以下 jQuery 来选择提交时选择列表中的所有项目,但它仍然只在按下提交按钮之前发送单个选定项目的数据:

$("#pageForm").submit(function (e) {
$("#controlGradesList option").prop("selected", "selected");
});

这是我的表单标记:

<form method="post" id="pageForm">

@Html.HiddenFor(x => x.Data.Ref)

<div class="row">
<div class="col-sm-5">
<h3>All grades</h3>
<div class="form-group">
<input type="text" id="filterBox" class="form-control" placeholder="Filter grades" />
</div>
<div class="form-group">
<select class="form-control" size="20" multiple="multiple" id="gradesList" asp-items="@(new SelectList(Model.Data.AvailableGrades, "Ref", "Display"))">
</select>
</div>
</div>

<div class="col-sm-2">
<div class="push-down-arrows">
<div class="form-group">
<input type="button" class="btn btn-primary btn-block" id="addButton" value=">>" title="Add grade to control group" />
</div>
<div class="form-group">
<input type="button" class="btn btn-primary btn-block" id="removeButton" value="<<" title="Remove grade from control group" />
</div>
</div>
</div>

<div class="col-sm-5">
<h3>Associated grades</h3>
<div class="grades-padding-top">
<div class="form-group">
<select class="form-control" size="20" multiple="multiple" id="controlGradesList" asp-for="Data.AssociatedGradeRefs" asp-items="@(new SelectList(Model.Data.AssociatedGrades, "Ref", "Display"))">
</select>
</div>
</div>
</div>

</div>

<hr />

<button class="btn btn-primary" type="submit"><i class="fa fa-save">&nbsp;</i>Save</button>
| <a href="#" onclick="window.history.go(-1);">Back to previous page</a>

</form>

我在这里缺少什么?

最佳答案

我需要在按钮上使用 onclick 事件来选择选择中的所有选项,防止默认并提交表单:

<button class="btn btn-primary" type="submit" onclick="submitForm(event)"><i class="fa fa-save">&nbsp;</i>Save</button>

function submitForm(e) {
$("#controlGradesList option").prop("selected", true);
e.preventDefault();
$('#pageForm')[0].submit();
}

关于javascript - ASP.net razor 页面和多选,在选择中发布所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60989466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com