显示一个复选框为真值
问题描述:
我有一个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>
值马克和付费是布尔的一部分。现在我打算将类型更改为文本,并且需要帮助将布尔值格式化为复选框。
答
使用此代码在复选框中显示您的布尔值。
$.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
})
removeAttr是必需的,因为我使用jquery-1.4.2.min.js。经过测试和它的工作
答
如果您有一个服务器端布尔值,您可以在网页2中使用conditional attributes来管理复选框。您提供的布尔使用剃刀复选框的checked
属性:
@{ var myBool = true; }
<input type="checkbox" name="mark" id="mark" checked="@myBool" />
如果布尔是true
,checked="checked"
呈现。如果它是false
,那么checked属性根本不会被渲染。
谢谢迈克。我了解你的解决方案。我的问题是如何捕获要分配给myBool变量的值。比如说MarkDate,你注意到parseInt在我的javascript中格式化了日期。我感兴趣的是类似的东西,从我的getJSON得到的值如果为true,那么我的复选框被选中。 – 2013-03-07 10:11:22
如果您在复选框中为“value”属性提供值,则在复选框被选中的情况下,该值将被传递给服务器。如果你没有提供一个值,那么就会传递一个默认值'on'。因此,使用我发布的示例,如果Request [“mark”] ==“on”,您应该在勾选框时将myBool设置为true。 – 2013-03-07 13:26:52
我认为我们并不了解对方。我很关心使用getJSON中的值填充我的对话框。其中一个值是布尔值,只是希望它显示为复选框。我遵循这个教程http://www.mikesdotnetting.com/Article/176/WebMatrix-and-jQuery-Forms-Part-2-Editing-Data。然而,在教程中,数据库没有一个可靠的值。我的确必须显示在一个复选框中。 – 2013-03-07 13:56:39