2

テーブルの値を表示する WebGrid と編集ボタンがあります。ユーザーがこのボタンをクリックすると、ポップアップ フォームまたはダイアログ フォームが表示され、前述の同じテーブルの値が入力されます。

日付の値をフォーマットすることができたので、テーブルのブール値 (true/false) をフォーマットしてチェックボックスに表示することに興味があります。現時点では、値が true または false のテキスト ボックスとして表示されます。

以下は私のコードの一部です:

 $('#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' });

以下は私の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>

Mark と Paid の値はブール値です。今、タイプをテキストに変更するつもりで、ブール値をチェックボックスにフォーマットするのに助けが必要です。

4

2 に答える 2

2

サーバー側の bool 値がある場合は、Web ページ 2 の条件付き属性を使用してチェックボックスを管理できます。checkedRazor を使用してチェックボックスの属性に bool を指定します。

@{ var myBool = true; }

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

bool が の場合、trueレンダリングchecked="checked"されます。の場合false、checked 属性はまったくレンダリングされません。

于 2013-03-06T13:49:57.973 に答える
0

このコードを使用して、ブール値をチェックボックスに表示します。

$.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
})

jquery-1.4.2.min.js を使用しているため、removeAttr が必要です。テスト済みとその動作

于 2013-03-08T12:15:22.193 に答える