Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在mvc razor中交替使用2个onchange()函数?_Javascript_Jquery_Asp.net Mvc_Onchange_Cascadingdropdown - Fatal编程技术网

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
    });
});