0

我有这两个文本框,我需要它们只允许输入 2 位小数。我假设 jQuery 或 Javascript 事件可以做到这一点。我只是不确定如何在 Javascript 中调用 textboxfor。任何帮助,将不胜感激

@Html.TextBoxFor(m => Model.Categories[c].EstimateGroups[g].EstimateItems[i].PerUnitCost,
                 new { @disabled = "disabled", @onchange = "costUpdate(this);", @cstType = "perUnit",@id="perUnit"})

<span class="sideLabel">@Model.Categories[c].EstimateGroups[g].EstimateItems[i].PerUnitDescription</span>

if (Model.Categories[c].EstimateGroups[g].EstimateItems[i].Units != null
 && !Model.Categories[c].EstimateGroups[g].EstimateItems[i].IsBasedOnHomeSquareFootage)
{ 
    @Html.TextBoxFor(m => Model.Categories[c].EstimateGroups[g].EstimateItems[i].Units,
                     new { @disabled = "disabled", @onchange = "costUpdate(this);", @cstType = "units" })
}
4

1 回答 1

2

您可以使用正则表达式属性。这将完成这项工作。

[RegularExpression(@"^\d+.\d{0,2}$", 
             ErrorMessage = "It cannot have more than one decimal point value")]
public double PerUnitCost {get;set;}   

这里 In {0,2}, 0 和 2 表示小数点后的最小和最大数字。所以根据你的要求改变。

于 2013-08-14T15:02:18.273 回答