0
私は単純な複数のリストボックスを持っています。ノックアウトのオプションで選択したアイテムの色を変更しようとしていますが、方法が見つからないようです。手伝ってください。アイテムをクリックすると、アイテムはデフォルトの青色で強調表示されるべきではありません。方法はありますか?ここで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