Javascript BeginCollectionItem新元素不能与jQuery MVC 5一起使用
我试图测试内容是否在文本字段中,这适用于最初加载的元素,但不适用于使用beginCollectionItem添加的元素(共享相同类名) 例如,一个文本框通过bci添加并被填充,当填充后焦点转移到别处时,该文本框将被赋予“makeitred”类 我使用的javascript有什么问题 部分使用BCIJavascript BeginCollectionItem新元素不能与jQuery MVC 5一起使用,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我试图测试内容是否在文本字段中,这适用于最初加载的元素,但不适用于使用beginCollectionItem添加的元素(共享相同类名) 例如,一个文本框通过bci添加并被填充,当填充后焦点转移到别处时,该文本框将被赋予“makeitred”类 我使用的javascript有什么问题 部分使用BCI <div class="editorRow"> @using (Html.BeginCollectionItem("ispDetails")) { <
<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>
您尚未显示添加新项目的脚本。您需要从文本框中删除
@onchange=“checkFill();
——您已经在使用$(文档)处理它了
添加了onChange
以查看是否可以捕获,添加了bci处理代码。不清楚您的问题是什么。您是说单击“添加”链接不会添加新项目,还是添加了新项目,但是更改类的脚本不适用于新项目?抱歉,我将更新-问题是CSS类“makeitred”未添加到已添加并包含内容的字段中。但您的“添加”脚本仅添加新项目。它不会检查新添加的控件是否包含内容(另一个脚本仅在内容更改时才执行此操作。更新DOM后,您需要在“添加”函数中添加一个复选框,因为您没有显示添加新项目的脚本。并且您需要从文本框中删除@onchange=“checkFill();
,您已经使用$(文档)处理它了。on('change','.isitery',function()
添加了onChange
以查看是否可以捕获,添加了bci处理代码。不清楚您的问题是什么。您是说单击“添加”链接不会添加新项目,还是添加了新项目,但是更改类的脚本不适用于新项目?抱歉,我将更新-问题是CSS类“makeitred”未添加到已添加并包含内容的字段中。但您的“添加”脚本仅添加新项。它不会检查新添加的控件是否包含内容(而另一个脚本仅在内容更改时才会检查内容)。更新DOM后,您需要在“添加”函数中添加检查
@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" });
}
$(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');
});
});