【问题标题】:Using ASP .NET MVC 2, Html.DropDownListFor - how to call a JQuery function on select?使用 ASP .NET MVC 2,Html.DropDownListFor - 如何在选择时调用 JQuery 函数?
【发布时间】:2011-03-03 09:12:56
【问题描述】:

在我看来,我正在使用 DropDownListFor:

<%: Html.DropDownListFor(model => model.Type, 
                        new SelectList(ComponentsFactory.GetTypeList().Select(a => new { Name = Regex.Replace(a, @"^.*\.", ""), Value = a }).OrderBy(a => a.Name),
                            "Value", "Name", Model.Type), "Select . . .", null) %> 

我的 .js 脚本文件中还有一个 JQuery 函数,该文件已经包含在我的标题和所有内容中:

function GetRequiredFields(type) 
{
...//do JQuery AJAX stuff
}

我想用参数“type”调用“GetRequiredFields”作为选择项的值,并用它来更新一个名为“RequiredFields”的“div”。我怎样才能做到这一点?我是否需要使用 Html.DropDownListFor 以外的东西?

【问题讨论】:

    标签: asp.net-mvc-2 jquery drop-down-menu


    【解决方案1】:
    $(function(){
       $('#Type').change(function(){GetRequiredFields( $(this).val() );});
    });
    

    【讨论】:

      【解决方案2】:

      试试这个

      <%: Html.DropDownListFor(model => model.Type, 
                          new SelectList(ComponentsFactory.GetTypeList().Select(a => new { Name = Regex.Replace(a, @"^.*\.", ""), Value = a }).OrderBy(a => a.Name),
                              "Value", "Name", Model.Type), "Select . . .", new { @onchange = "GetRequiredFields(this);" }) %> 
      

      上面的new { @onchange = "GetRequiredFields(this);" }会为生成的&lt;select&gt;创建一个新的属性onchange

      并在您的 GetRequiredFields() 中添加此

      function GetRequiredFields(type) 
      {
          var selectedValue = $(type).val();
          ...//do JQuery AJAX stuff
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-06
        • 1970-01-01
        相关资源
        最近更新 更多