Javascript 如何在mvc razor中交替使用2个onchange()函数?
我有级联下拉列表,我应该在每个Javascript 如何在mvc razor中交替使用2个onchange()函数?,javascript,jquery,asp.net-mvc,onchange,cascadingdropdown,Javascript,Jquery,Asp.net Mvc,Onchange,Cascadingdropdown,我有级联下拉列表,我应该在每个onchange()事件中将表单数据发送给控制器。这就是为什么我应该对dropdownlist的onchange()事件执行两种不同的操作 1)这会在DropdowList的每个onchange()事件中向控制器发送数据:(这是我的第一个DropdowList) 及 这些方法同时起作用。一行在任何动作中起作用,然后进入另一个动作。然后返回第一个操作,因此,当操作返回视图时,它被包围。 我在loadLevelTwo()函数之后发送表单,但它无法解决此问题: l
onchange()
事件中将表单数据发送给控制器。这就是为什么我应该对dropdownlist的onchange()
事件执行两种不同的操作
1)这会在DropdowList的每个onchange()事件中向控制器发送数据:(这是我的第一个DropdowList)
及
这些方法同时起作用。一行在任何动作中起作用,然后进入另一个动作。然后返回第一个操作,因此,当操作返回视图时,它被包围。
我在loadLevelTwo()
函数之后发送表单,但它无法解决此问题:
loadLevelTwo($("#CategoryDDL"));
$('#MyForm').trigger('submit');
我会摆脱服务器端的onchange,在clienside上做所有事情:
$(function () {
$("#CategoryDDL").change(
function () {
loadLevelTwo(this);
});
loadLevelTwo($("#CategoryDDL"));
$('#MyForm').trigger('submit');
});
现在还不清楚你要求做什么。如果您只想提交表单并调用
loadLevelTwo
,您可以通过脚本中的单个绑定(并从razor中删除onchange
):
这将连续完成两项任务。我同意你的看法,但这应该是一个评论。您提供的代码无法解决此问题。您是想让
更改
事件触发这两个任务,还是希望第一次更改调用loadLevelTwo
,然后进行后续更改以提交表单?我希望第一次更改调用loadLevelTwo,然后将更改后的数据发送给控制器(提交表单)
public ActionResult FilterProducts(CriteriaModel model) {}
public ActionResult GetSubCategoryByCategoryId(int id) {}
loadLevelTwo($("#CategoryDDL"));
$('#MyForm').trigger('submit');
$(function () {
$("#CategoryDDL").change(
function () {
loadLevelTwo(this);
});
loadLevelTwo($("#CategoryDDL"));
$('#MyForm').trigger('submit');
});
$(function () {
$("#CategoryDDL").on('change', function() {
loadLevelTwo(this); // load the next level
$("#MyForm").submit(); // submit the form
});
});