javascript - MVC dropdownlist onchange 调用jquery

标签 javascript jquery asp.net-mvc razor

我有一个SelectList代表订单的交付类型。

交付类型引用数据具有常用的代码/描述,但还有一个附加的 bool 属性,用于指示是否需要为所选类型输入更多信息。

因此,对于紧急交付,需要额外的数据。如果选择紧急情况,附加数据输入字段将设置为可见,否则隐藏

我的ViewModel包含<List>ReferenceDeliveryTypes其中包含 3 个属性。 我创建了一个SelectListItems来自 ViewModel 数据

@Html.DropDownListFor(model => model.DeliveryTypeCode, 
    new SelectList(Model.ReferenceDeliveryTypes as System.Collections.IEnumerable, 
        "DeliveryTypeCode", "DeliveryTypeDescription"), new { id = "ddlDeliveryType" })

如何在更改交付类型时调用 jQuery 函数,传递所选代码并检查 Model.ReferenceDeliveryTypes该代码可查看附加数据属性是否为 true/false 以显示/隐藏附加字段 div

我已经成功调用 jQuery 函数来传递值。

$(function () {

$('#ddlDeliveryType').change(function () {
    var value = $(this).val();
    alert(value);
});

});

最佳答案

我不知道有什么方法可以使用选择列表来做到这一点,但我建议使用以下选项:

  • 简单但有技巧 - 在 DeliveryTypeDescription 末尾添加一个字符串,例如(紧急交付),并在更改函数中检查该字符串
  • 另一个技巧 - 将 DeliveryTypeCode 乘以 10,如果是紧急递送,则加 1(然后在更改函数中使用 mod 10)
  • 使用 Ajax 查找功能
  • 加载包含需要紧急交付的代码的 JavaScript 查找表
  • 在表单中使用隐藏字段,其中包含带有合适分隔符的紧急代码字符串列表

祝你好运

更新 对于隐藏字段选项,如果您使用 123|456|789| 之类的内容,然后使用 indexOf 并将 | 附加到所选 ID。

关于javascript - MVC dropdownlist onchange 调用jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317518/

相关文章:

c# - 跨 MVC Web 应用程序集中公共(public)代码的最佳方法?

javascript - Firebase 和 javascript - 将项目从一个列表排除到另一个列表

javascript - 从LowerFrame中的页面访问UpperFrame中的页面会导致未定义的错误!

jquery - 通过jQuery调用JSON wcf服务

javascript - 如何使用 jQuery 检查所有输入是否不为空

c# - 将表附加到字符串

c# - 隐藏来自 ASP.NET MVC 中操作的路由值?

php - 如何区分页面刷新和关闭页面

javascript - 查找对象中重复属性值的计数

php - 链式选择框 - 基本