テキストボックスを含む動的テーブルがあり、クラスを適用したいと考えています。これらすべてのテキストボックスを検証します。 jQuery の控えめな検証では、追加されたテキストボックスが登録されず、検証が機能しません。
これを解決するには、次のことを行う必要があります。
@for (int i = 0; i < Model.TargetInfo.Count; i++) { <tr> <td> @Html.TextBoxFor(m => m.TargetInfo[i].TargetColor_U, new { id = "", @class = "form-control" }) @Html.ValidationMessageFor(m => m.TargetInfo[i].TargetColor_U) <input type="hidden" name="TargetInfo.Index" value=@i /> </td> <!-- Other columns with similar markup --> </tr> }
var form = $('form'); var newrow = $('#newrow'); var tablebody = $('#tablebody'); $("#btnAddTarget").click(function() { var index = (new Date()).getTime(); var clone = newrow.clone(); clone.html($(clone).html().replace(/#/g, index)); var row = clone.find('tr'); tablebody.append(row); // Reparse the validator using unobtrusive validation form.data('validator', null); $.validator.unobtrusive.parse(form); });
以上がjQuery の目立たない検証を使用してテーブル内の動的テキストボックスにクラス検証を適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。