jQuery DDL Change事件未触发 - c#

我正在使用.NET 4和JQuery来显示/隐藏Div,具体取决于从DDL中选择的内容。当我手动单击下拉列表时,Jquery将按预期方式触发,并显示/隐藏字段。但是,当我以编程方式更改DDL的selectedValue时,Jquery根本不会触发。我有一个带有两个选项的单个ddl,一个和重复选项,我显示了所选的div,而另一个隐藏了。

$(document).ready(function () {
    $("#MainContent_ddlScheduleType").change(function () {
        $('#Single').hide();
        $('#Recurring').hide();
        var newSelection = "#" + this.value;
        $(newSelection).fadeIn('slow');
    });
});

在实际页面中,有两个下拉字段,第一个是数据库表中当前所有作业的列表。这些作业可以运行一次或多次(单次,重复)。用户从第一个下拉列表中选择作业的名称。存储过程从数据库中获取该作业的信息,并将其存储在客户端变量中。然后,我比较该客户端变量以确定是否应该更改下拉菜单。这是完成大多数工作的事件处理程序。再次总结一下,当您从第一个下拉菜单中选择作业时,第二个下拉菜单应该发生变化以反映它是单调还是单调(成功发生!),但是Jquery并未实际显示相应的Single / Recurring Div它应该显示。

        protected void ddlJobList_SelectedIndexChanged(object sender, EventArgs e)
    {
        string  Frequency = null;
        SqlParameter sqlParameter = new SqlParameter("@JobName", ddlJobList.SelectedItem.Text);
        DataTable dt = SqlHelper.GetDataTable("zzGetJobInformation", CommandType.StoredProcedure, sqlParameter);

        if (!(dt.Rows[0]["Frequency"] is DBNull))
            Frequency = dt.Rows[0]["Frequency"].ToString();

        if (Frequency == null)
            ddlScheduleType.SelectedValue = "Single";
        else
            ddlScheduleType.SelectedValue = "Recurring";
    }

有什么原因不会导致Jquery触发?

我在这里看:
jQuery drop down list change event not fire

尽管我没有使用MVC,但是我以前有过,所以我可以关联看起来与我非常相似的代码。不幸的是,“解决方案”的链接不再有效,并且他们的回答不是很描述性。我可以肯定地说,firebug中没有报告任何控制台/ javascript错误。

c#参考方案

好的,这可以解释得更好。混淆来自服务器和客户端代码的混合。我建议使用一个或另一个来管理下拉列表和影响,而不是同时管理两者。

同时使用这两种方法意味着您必须处理回发,Webforms事件并在客户端(jquery)和服务器(.net)上维护状态,这很麻烦。

我要么使用webforms来管理UI的状态,要么将jquery和ajax请求与页面方法,asmx或另一种asp.net处理程序一起使用来管理UI的状态。

jQuery DataTable TableTool在IE和Firefox中不起作用 - c#

我在MVC4 ASP.NET Web应用程序中使用Jquery DataTable TableTool。导出到Excel和PDF可以与Chrome完美配合。但是不能在IE和FireFox中使用。我的代码如下 dom: 'T<"clear">lfrtip', tableTools: { "sSwfP…

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

jQuery-根据用户输入显示/隐藏 - php

我的页面上有以下div:<div id="page1"> Some content </div> <div id="page2"> More content </div> <div id="page3"> Even more content…

为HTML表单GET方法添加其他文本 - javascript

使用表单的“ get”方法时,<form action="domain.com" method="get"> Surname: <input type="text" name="ABC"><br> Name: <input type=&#…

将评论框脚本编辑为动态 - c#

为了将facebook插件注释框的脚本编辑为动态的并单独显示与每个帖子相关的注释,我在脚本中添加了以下两行代码:var related = document.getElementById('fb-related'); related.setAttribute("data-href", "articles.as…