ขอบคุณ RP. นี่คือตัวอย่างของการใช้คำแนะนำของคุณเพื่อส่งคืนคุณสมบัติ "name" ผ่านคุณสมบัติ "id" ของอ็อบเจ็กต์จากภายในโมเดลมุมมองของฉัน
self.jobroles = ko.observableArray([]);
self.jobroleName = function (id)
{
var match = ko.utils.arrayFirst(self.jobroles(), function (item)
{
return item.id() === id(); //note the ()
});
if (!match)
return 'error';
else
return match.name;
};
ใน HTML ฉันมีสิ่งต่อไปนี้ ($ parent เนื่องจากสิ่งนี้อยู่ในลูปแถวตาราง):
<select data-bind="visible: editing, hasfocus: editing, options: $parent.jobroles, optionsText: 'name', optionsValue: 'id', value: jobroleId, optionsCaption: '-- Select --'">
</select>
<span data-bind="visible: !editing(), text: $parent.jobroleName(jobroleId), click: edit"></span></td>