2012-11-12 32 views
6

選擇列表的項目,我在改變一些代碼,我沒有寫的過程中,我相當新的剃鬚刀造型的MVC3

這是車輛的選擇列表和代碼看起來像這樣的:

<select name="selectVehicle" class="cls_vehicles" data-bind="options:  $root.vehicles,optionsCaption:$root.noVehicleText, optionsText:  'VehicleNumber',optionsValue: 'VehicleID',value: VehicleID"><option value=""/></select> 

我的數據源中包含除Vehicleid和Vehiclenumber也Vehicletype,現在我想按類型來突出車輛,所以汽油車是藍色和柴油的有綠色。

但我不知道如何去做這件事,任何幫助都非常感激。

+0

我猜數據綁定標籤來自Knockout?你沒有標籤,但這是其中的選項。你想在Razor或Knockout中使用解決方案嗎?使用剃鬚刀將需要您刪除淘汰賽的約束力。 – Tyrsius

回答

1

所以,你的問題的代碼具有挖空數據綁定在它的選項,所以我打算現在假設您正在使用淘汰賽作爲數據源。要做到這一點,你將不得不展開一些綁定,這樣你可以在每個選項上單獨放置一個css-class。現在

<select data-bind="value: selectedCar, foreach: cars"> 
    <option data-bind="css: { carDiesel: isDiesel, carGas: isGas }, text: name"></option> 
</select>​ 

,這取決於你的基因敲除視圖模型的結構,但here is the fiddle我使用了這種方法。你應該能夠適應它來適應你的。如果你想要一個只有Razor的解決方案,請告訴我。

+0

謝謝,我完全忘記了這一點。是的,你在正確的地方使用了Knockout。我沒有意識到淘汰賽的存在,所以這對理解代碼非常有幫助。 – barnonline