我试图测试内容是否在文本字段中,这适用于最初加载的元素,但不是使用beginCollectionItem添加的元素(共享相同的类名)。
例如,通过bci添加文本框并填充,填写后,焦点转到其他位置,文本框将被赋予' makeitred'类。
我使用的javascript有什么问题?
部分使用BCI
<div class="editorRow">
@using (Html.BeginCollectionItem("ispDetails"))
{
<div class="ui-grid-c ui-responsive">
<div class="ui-block-a">
<span>
@Html.TextBoxFor(m => m.type, new { @class = "isitempty" })
</span>
</div>
</div>
}
</div>
索引段调用部分 - 在页面加载元素上jQuery正常工作,使用添加按钮之后的任何内容都没有
@using (Html.BeginForm())
{
<div id="editorRowsEQM">
@foreach (var item in Model.ispDetails)
{
@Html.Partial("EquipView", item)
}
</div>
@Html.ActionLink("Add", "ispManager", null, new { id = "addItemEQM", @class = "button" });
}
来自索引的JS
$(function () {
$('#addItemEQM').on('click', function () {
$.ajax({
url: '@Url.Action("ispManager")',
cache: false,
success: function (html) { $("#editorRowsEQM").append(html); }
});
return false;
});
$(document).on('change', '.isitempty', function checkFill (e) {
if ($(this).val().length == 0) {
$(this).removeClass('makeitred');
} else $(this).addClass('makeitred');
});
});