【发布时间】:2014-12-02 09:03:26
【问题描述】:
我希望根据用户选择的国家/地区填充不同的值的下拉列表。
在我的 .cshtml 文件中,我们通过绑定到一个枚举来创建一个下拉列表
@helper DropDownField(string binding, Type enumType)
{
<!-- ko with : @(binding) -->
<div class="control-group" data-bind="css: { error: isInvalid }">
<label class="control-label" for="@binding" data-bind="text: title">replace me</label>
<div class="controls">
<select id="@binding" name="@binding" data-bind="value: value">
@{Dictionary<string, string> enumValues; }
enumValues = EnumExtensionMethods.GetNameAndFriendlyNameDictionary(enumType);
@foreach (KeyValuePair<string, string> kvp in enumValues)
{
@:<option value="@kvp.Key">@(!String.IsNullOrWhiteSpace(kvp.Value) ? kvp.Value : " ")</option>
}
</select>
<span class="help-inline" data-bind="text: errorMessage"></span>
</div>
</div>
<!-- /ko -->
}
然后我会根据选择的国家/地区显示适当的列表。当然,这是行不通的。我不确定可以用来检查国家/地区值的语法。
@DropDownField("country")
if ($('#country').val() == "US") {
@DropDownField("state", typeof(StateType))
} else {
@DropDownField("state", typeof(ProvinceTypeCA))
}
【问题讨论】:
标签: html asp.net asp.net-mvc knockout.js