0

J'utilise bootstrap. KnockOut Quand j'utilise le mode classique, cela ressemble à ci-dessous.KnockOut données-Bind Causes visibles Bad HTML

<div class="col-md-6"> 
    <label for="element2" class="field-title">Kazandıran Şube</label> 
    <select class="form-control select2" tabindex="15" data-bind="options: BranchList, optionsText: 'Label', optionsValue: 'StringValue', value: CustomerDataTransformObject.Customer.ConsolidationPlace, newChosen: {}"></select> 
</div> 

enter image description here

Mais quand j'utilise une liaison visible, il se bloque comme ça.

<div class="col-md-6" data-bind="visible: CustomerDataTransformObject.Customer.Type() == 'Tüzel/Kurumsal'"> 
    <label for="element2" class="field-title">Tüzel/Kurumsal Tip</label> 
    <select class="form-control select2" tabindex="10" data-bind="options: CommercialTypeList, optionsText: 'Label', optionsValue: 'StringValue', value: CustomerDataTransformObject.Customer.Commercial.Type, newChosen: {}"></select> 
</div> 

enter image description here

Comment puis-je résoudre ce problème?

+1

Pouvez-vous créer un jsFiddle de cela? Le problème est-il que la liste déroulante est sur la même ligne que l'étiquette? Et cela se produit uniquement avec la liaison visible? c'est-à-dire si vous supprimez la liaison visible cela ressemble-t-il comme prévu? –

+0

Je voudrais aussi voir un violon. Je ne peux pas lire cette langue et il y a trop peu d'indices de contexte pour voir le problème. –

+0

La liaison 'visible' contrôle si l'élément est' display: none', ce qui signifie qu'il n'occupera pas votre espace de 6 colonnes lorsqu'il est caché. Est-ce le problème? –

Répondre

0

Le principal problème est tout à fait à propos de liaison de données-: visible. Parce que lorsque vous utilisez la liaison visible pour div, il ne peut pas en calculer la taille réelle. J'ai donc dû fixer la taille du composant select. La solution unique ajoute $(element).css("width", "100%"); à nouvelleChosen définition de liaison.