我有一个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/