2013-05-03 10 views
15

Ich habe eine foreach-Schleife, die durch ein Array (filesObservableArray) geht. Das Array hat einen Schlüssel/Wert mit dem Schlüssel: URLPath. Wenn ich das Array innerhalb des HTML binde, möchte ich den 'href =' Wert mit dem URLPath setzen.knockout - HTML href

Ich weiß, dass dieser Teil ein Fehler ist, aber konzeptionell, können Sie sehen, was ich versuche zu tun?

href = "< Spanne databind = 'text: URLPath'>"

Oder vielleicht kann ich eine 'databind = "klicken: someCode (url)"' und in der someCode Funktion, den Link öffnen? Die URL wird entweder einer Dokumentdatei (z. B. .doc) oder einer Bilddatei zugeordnet.

Tipps geschätzt. Vielen Dank!

<tbody data-bind="foreach: $root.filesObservableArray"> 
        <tr id="tradeRow"> 
         <td><a href="<span data-bind='text: URLPath'></span>">Open file</a></td> 
        </tr> 
       </tbody> 

Antwort

34

Ich bin nicht sicher, was Sie in dem href mit der Spanne achive wollen aber mit den attr binding können Sie einstellen, nur gut die href (oder irgendein anderes) Attribut:

<tbody data-bind="foreach: $root.filesObservableArray"> 
    <tr id="tradeRow"> 
     <td><a data-bind="attr: { href: URLPath }">Open file</a></td> 
    </tr> 
</tbody> 
+1

Perfekt. Danke @ Roberto für den gleichen Tipp. Muchos gracias an @nemesv, um den Code so zu zeigen, wie er sein sollte. Ich bin sicher für erfahrene Programmierer, das ist einfach zu beantworten. Aber für Neulinge wie mich ist das nicht so einfach herauszufinden. Die Antwort wird sehr geschätzt. Vielen Dank. – nanonerd