Javascript BeginCollectionItem新元素不能与jQuery MVC 5一起使用

Javascript 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")) { <

我试图测试内容是否在文本字段中,这适用于最初加载的元素,但不适用于使用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>

您尚未显示添加新项目的脚本。您需要从文本框中删除
@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');
            });
});