我有一个带有两个下拉列表的MVC5设置,当选择一个值时,通过Javascript自动提交。 它们目前在同一个表单中,所以我想让他们在我的后端提交不同的动作
查看:
<div class="panel-body">
@using (Html.BeginForm("", "BrugerSession"))
{
@Html.AntiForgeryToken()
<div class="row">
<div class="col-md-6">
@Html.LabelFor(model => model.Emails)
@Html.DropDownListFor(x => x.ValgtEmail, Model.Emails, "Vælg Email")
</div>
<div class="col-md-6">
@Html.LabelFor(model => model.Printere)
@Html.DropDownListFor(x => x.ValgtPrinter, Model.Printere)
</div>
</div>
}
</div>
的JavaScript
$(document).ready(function () {
$("#ValgtEmail").change(function () {
$(this).closest('form').trigger('submit');
});
});
$(document).ready(function () {
$("#ValgtPrinter").change(function () {
$(this).closest('form').trigger('submit');
});
});
这里的诀窍是,我使用How do you handle multiple submit buttons in ASP.NET MVC Framework?来支持后端的多个提交目标。
为什么主要问题是:Javascript Trigger方法能否以propper方式提交数据,因此它将与上述链接中的解决方案一起使用?
我尝试查看http://api.jquery.com/trigger/文档,并且支持其他参数。但我知道如何格式化我的Javascript以实现我的需要。
更新
我从来没有设法让这个工作。相反,我用自己的形式包围了每个Select。
答案 0 :(得分:0)
我希望我的回答能帮到你。您可以使用JQuery AJAX。
首先下拉
$("#dropdown1").change(function(){
$.ajax({
url: '/ControllerName/Action1',
data: { parm1:parm1 },
success: function () {
// Success function
},
error: function () {
// Error message
}
});
});
第二次下拉
$("#dropdown2").change(function(){
$.ajax({
url: '/ControllerName/Action2',
data: { parm1:parm1 },
success: function () {
// Success function
},
error: function () {
// Error message
}
});
});