У меня есть простое окно с несколькими списками. Я пытаюсь изменить цвет выбранного элемента на опциях в нокауте, не похоже, чтобы найти способ. Пожалуйста помогите. при нажатии на элемент элемент не должен выделяться голубым цветом по умолчанию. Есть ли способ?изменить цвет или выделенный элемент в нескольких списках с помощью knockout.js
Вот мой fiddle
var Customer = function (id, name, expired) {
this.id = id;
this.customerName = name;
//this.expiryDate = expiryDate;
this.hasExpired = function() {
return expired;
};
};
function ViewModel() {
var self = this;
self.customerRegion = ko.observable();
self.customerName = ko.observable();
self.allCustomers = [new Customer(1, "User1", false), new Customer(2, "User2", true), new Customer(3, "User3", false)]
self.selectedCustomer = ko.observable()
self.setOptionStyling = function (option, item) {
console.log(item.hasExpired())
ko.applyBindingsToNode(option, {
css: {
expired: item.hasExpired()
}
}, item);
}
}
ko.applyBindings(new ViewModel())
Мой HTML:
<select multiple = "multiple" id="customerSelect"
data-bind="options: allCustomers,
optionsText: 'customerName',
value: selectedCustomer,
optionsAfterRender: setOptionStyling"" />
Я думаю, у вас есть * CSS * проблема, а не проблема knockout.js? Мне кажется, вы хотите изменить стиль отдельных элементов (например, синий фон). Как таковой, кажется, это замалчивание [этого вопроса] (насколько я знаю)? Насколько я знаю, вы не можете сделать это с помощью html/css. Для этого вам понадобится библиотека/виджет выпадающей замены. – Jeroen
Возможный дубликат [Как изменить цвет синего выделения в раскрывающемся списке выбора окна) (http://stackoverflow.com/questions/19388011/how-to-change-colour-of-blue-highlight-on-select-box- падать) – Jeroen