我正在阅读来自我的控制器中的呼叫的选项json。我将可观察数组绑定到我的下拉列表,它工作得很好。但是我想根据json中的一个变量为列表中的一些选项添加一个类。 这是我的HTML选择:
<select data-bind="value: sellerID, options: $root.sellers, optionsValue: 'Value', optionsText: 'Text', optionsCaption: ' -- select a student --', disable: disableSeller" class="form-control" id="sellerSelect" name="sellerId"></select>
这是我的淘汰赛:
初始化:
var groups = @Html.Raw( Json.Encode(ViewBag.GroupDetail.SellerGroup) );
sellerViewModel = new SellerViewModel(groups, "", 10);
ko.applyBindings(sellerViewModel, $("#studentInfo")[0]);
设置选项列表:
$(data.sellers).each(function(index, element) {
sellerViewModel.sellers.push({Text: element.lastName + ", " + element.firstName, Value: element.sellerId})
});
在最后一段代码中,element
有一个名为dateVerify
的变量。如果dateVerify
不为null,我想在选择列表中为该选项添加一个类,因此我可以将其着色为不同的颜色。
答案 0 :(得分:1)
不确定它是否是最优雅的方式,但根据淘汰赛docs,有一个optionsAfterRender
回调,允许您在添加选项后执行自定义操作。您可以使用jQuery / vanilla JS /无论如何添加所需的类。
optionsAfterRender: function(option, item) {
if(!item.dateVerify) {
$(option).addClass("some-class");
}
}
显然,你需要修改它以更准确地适应你的代码,但我认为这正是你要找的。 p>