我有一个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是布尔值。现在我打算将类型更改为文本,并需要帮助将布尔值格式化为复选框。
答案 0 :(得分:2)
如果您有服务器端bool值,则可以使用网页2中的conditional attributes来管理复选框。使用Razor:
为复选框的checked
属性提供bool
@{ var myBool = true; }
<input type="checkbox" name="mark" id="mark" checked="@myBool" />
如果bool为true
,则会呈现checked="checked"
。如果是false
,则根本不会呈现checked属性。
答案 1 :(得分: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。经过测试及其工作