2 votes

Afficher une case à cocher pour une valeur vraie

J'ai une grille Web qui affiche les valeurs de ma table et un bouton d'édition. Lorsqu'un utilisateur clique sur ce bouton, un formulaire pop up ou un formulaire de dialogue apparaît et est rempli avec les valeurs de la même table que celle mentionnée précédemment.

J'ai réussi à formater des valeurs de date et je souhaite maintenant formater la valeur booléenne (vrai/faux) de mon tableau pour l'afficher dans une case à cocher. Pour l'instant, elle est affichée dans une zone de texte avec la valeur true ou false.

Voici une partie de mon code :

 $('#dialog-form2-edit').dialog(
            { 
//dialog form code .. this is fine

 $.getJSON('/Methods/GetCertificate/' + $(this).attr('id'), function (data)
                {   var certificate = data;
                    $('#edit-paid').val(certificate.Paid);
                    $('#edit-mark').val(certificate.Mark);
                    var date = new Date(parseInt(certificate.MarkDate.substr(6)));
                    var year = date.getFullYear();
                    var month = date.getMonth() + 1;
                    var day = date.getDate();
                    $('#edit-markdate').val(year + '-' + month + '-' + day);
                    $('#edit-markdate').datepicker({ dateFormat: 'yy-mm-dd' });

Voici une partie de mon html

<div id="dialog-form2-edit" title="Edit Certificate">
        <form id="edit-certificate-form" action="@Href("~/Methods/UpdateCertificate")">
            <div class="row">
                <span class="label"><label for="markdate">Mark Date :</label></span>
                <input type="text" name="markdate" id="edit-markdate" size="20"/>
            </div>
           <div class="row">
                <span class="label"><label for="mark">Mark :</label></span>
                <input type=text" name="mark" id="edit-mark" size="15"/>
            </div>

Les valeurs Mark et Paid sont booléennes. J'ai maintenant l'intention de changer le type en texte et j'ai besoin d'aide pour formater la valeur booléenne en case à cocher.

2voto

Mike Brind Points 11445

Si vous avez une valeur bool côté serveur, vous pouvez utiliser attributs conditionnels dans Pages Web 2 pour gérer les cases à cocher. Vous fournissez le bool au checked de la case à cocher en utilisant Razor :

@{ var myBool = true; }

<input type="checkbox" name="mark" id="mark" checked="@myBool" />

Si le bool est true , checked="checked" est rendu. S'il est false l'attribut coché n'est pas rendu du tout.

0voto

Sithelo Ngwenya Points 502

Utilisez ce code pour afficher votre valeur booléenne dans la case à cocher.

$.getJSON('/Methods/GetCertificate/' + $(this).attr('id'), function (data)
                {
var certificate = data;
if(certificate.Pass == true){
     $('#edit-pass').attr('checked', 'checked')} 
 else {$('#edit-pass').removeAttr('checked', 'checked')};
// your other json data
})

Le removeAttr est nécessaire puisque j'utilise jquery-1.4.2.min.js. Testé et cela fonctionne

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X