If I understand your problem correctly, and Site contains an observable array of Company objects, and each Company object contains an object of an observable Job object, then your approach will not work.
data-bind="text: Site().Company().Name" tries to get the Name property of the observed array containing Company objects. However, you could write data-bind="text: Site().Company()[0].Name" to get the name of the first Company .
A more general approach would be to iterate over the elements. Sort of:
Site name is <span data-bind="text: Name"/> <ul> <li>Company name is <span data-bind="text: Name"/> <li>Job name is <span data-bind="text: Name"/> </li> </li> </ul>
See http://knockoutjs.com/documentation/foreach-binding.html for more details.
Hope this is what you are looking for and sorry if I misunderstood your question.
source share