2012-07-03 5 views
10

Estoy intentando crear un campo de formulario oculto a partir de un valor booleano en mi viewModel.Uso de la vinculación attr en Knockout con un valor booleano

<tbody data-bind="foreach: MediaFiles"> 
     <tr> 
      <td> 
       <input type="hidden" 
         data-bind="attr: { value: MyBool }" /> 
      </td> 
     </tr> 
    </tbody> 

Necesito que el valor de la entrada sea "verdadero" o "falso" en función de lo que hay en el modelo de vista. Otros atributos se han omitido para mayor claridad.

¿Cuál es la mejor manera de lograr esto con la funcionalidad de enlace de knockout?

Respuesta

17
data-bind="attr: { value: MyBool ? 'true' : 'false' }" 

o si MyBool es un observable:

data-bind="attr: { value: MyBool() ? 'true' : 'false' }" 

o se puede utilizar un computed observable:

MyBool = ko.computed(function(){ 

    return this.someValue() ? 'true' : 'false'; 

}, this); 
+0

Gracias por la ayuda! – rboarman

Cuestiones relacionadas