Estoy usando las opciones de unión en una lista de selección utilizados en una plantilla de jQuery:

<select data-bind="options: contactsViewModel.emailTypes, optionsText: 'Value', value: EmailType"></select>

La plantilla se llama con un nocaut en el foreach para múltiples direcciones de correo electrónico.

EmailTypes es una lista de objetos emailtype
El objeto email consisten en el Valor de la propiedad que contiene la cadena de valor de la dirección de correo electrónico, Id de la propiedad que contiene un Guid de identificación y un correo electrónico tipo de propiedad que contiene el emailtype objeto.

La emailtype objeto consiste en el Valor de la propiedad que contiene el nombre del tipo de correo electrónico y un guid id.

La lista desplegable se rellena correctamente con los tipos de correo electrónico, pero la lista desplegable no seleccione el elemento adecuado. No refleja el valor de los objetos enlazados a él.

EDITAR:
La plantilla con la mostró seleccione la línea está recibiendo llamados por esto:
tbody data-bind=»plantilla: { nombre: ‘emailTemplate’, foreach: contactsViewModel.selectedContactEmails }»>

selectedContactEmails es un observableArray llenos de correo electrónico de los objetos, de esta apariencia en Json:

{"EmailType":{"Value":"Home","Id":"191e8a64-8110-493c-b443-3063ff3a852a"},"ParentId":"191e8a64-8110-493c-b443-3063ff3a852c","Parent":null,"Value":"[email protected]","Id":"a7aae8fd-6ca3-49ae-b529-124d37a148ca"}

Las propiedades de estos objetos se convierten en características observables mediante la asignación de plugin.

emailTypes es un observableArray lleno de EmailType objetos:

{"Value":"Home","Id":"191e8a64-8110-493c-b443-3063ff3a852a"}
puede que nos muestran su Modelo de Vista?
El viewmodel es bastante grande, por lo que yo he descrito la importante función de características observables y la estructura del objeto. La esperanza puede ayudar.

OriginalEl autor RolandG | 2011-11-25

2 Comentarios

  1. 8

    El desplegable no seleccione el delimitada valor porque el desplegable no sabe cuál es el atributo es enlazado. Deberá especificar el selectedOptions atributo en el enlace de datos.

    La options atributo indica desplegable acerca de la matriz que contiene.

    La optionsText atributo indica desplegable de la propiedad que se utiliza para mostrar para cada elemento de matriz.

    La optionsValue atributo indica desplegable de la propiedad que se utiliza para el valor de la opción.

    ¿Cómo será el desplegable saber que valor es el que se unen a?

    Uso las opciones seleccionadas

    Gracias. En mi desplegable, el usuario tiene que seleccionar un valor. A partir de la documentación entiendo que tengo uso de «valor» en ese caso en lugar de «selectedOptions». He intentado selectedOptions, pero no funciona.
    No veo una lista de selección en este ejemplo.
    lo siento, este es el enlace correcto > jsfiddle.net/ucAUC/3 (no, no estoy borracho 😛 )
    🙂 Sí, eso funciona. Pero, ¿por qué no funciona si puedo reemplazar el viewModel con esto: var águila = { EmailType: ko.observable({«Value»:»Escuela»,»Id»:»491e8a64-8110-493c-b443-3063ff3a852a»}) };
    jsfiddle.net/ucAUC/4

    OriginalEl autor neebz

  2. 0

    Es difícil sin ver a su viewModel pero una cosa evidente, y es que usted ha calificado su valor de opciones ( options: contactsViewModel.emailTypes ), pero no su ‘valor’ (value: EmailType). ¿Necesita agregar la ruta de acceso a EmailType por ejemplo. value: contactsViewModel.EmailType ??

    También usted puede confirmar que EmailType es el mismo tipo de objeto que está en su emailTypes colección

    Confirmado. Es el mismo tipo. Por favor, ver a mi adiciones.

    OriginalEl autor Mark Robinson

Dejar respuesta

Please enter your comment!
Please enter your name here