我在SO中搜索过,我发现了很多例子,但是我的一切都有所不同.
1)最初我有一行,如果用户点击保存&下一个按钮会说你有3个字段丢失
2)如果用户点击addmore按钮,他没有在文本字段中键入任何值,那么他点击保存和下一个按钮,它应该仍然说3个字段缺少
3)如果用户键入克隆行中的任何一个字段,那么他点击保存,下一个按钮验证应该发生在我的代码前两个工作点
但是问题是如果用户点击更多的行,并且他键入任何一个克隆的字段,然后如果他点击安全,下一个按钮,所需的_Field类正在所有其他字段中应用,但它应该仅适用于该行:(
如果我们能够找到用户类型的字段中最接近的元素,那么我可以将required_Field类添加到这些元素中
我试过如下
function additionalvalidation() { var myRow = $(".check").length; //$(".cloned_field").css("border","1px solid green"); $(".cloned_field").change(function() { var myField = $(".cloned_field").val().length; if (myField >= 0) { $(".cloned_field").addClass("required_Field"); debugger; $(".cloned_field").prevAll('label').find('span.required-star').removeClass('text-error-red'); //bind_validation(); } else { $(this).closest(".cloned_field").removeClass("errRed"); $(".cloned_field").removeClass("text-error-red"); } bind_validation(); return false; }); }
未捕获TypeError:无法读取未定义的属性“length”
$(this).closest(".cloned_field").addClass("required_Field");
我也试过了
$(this).closest(".cloned-row1").addClass("required_Field");
任何建议这个问题
我试过这个新的 – >
$(this).closest(".cloned_field").css({"color": "red","border": "2px solid red"});
颜色红色和红色边框只适用于该领域不适用于行:(
Fiddle link为参考
解决方法
@mahadevan尝试这段代码.我在工作
function additionalvalidation() { var myRow = $(".check").length; //$(".cloned_field").css("border","1px solid green"); $(document).on("change",".cloned_field",function() { var myField = $(this).val(); var $clonedDiv = $(this).closest('.cloned_div'); if (myField!='') { $clonedDiv.find(".cloned_field").addClass("required_Field"); $clonedDiv.find(".deg_date").addClass("required_Field"); $clonedDiv.find(".trans_date").addClass("required_Field"); $clonedDiv.find(".txt_degreName").addClass("required_Field"); debugger; $(".cloned_field").prevAll('label').find('span.required-star').removeClass('text-error-red'); //bind_validation(); } else { $clonedDiv.find(".cloned_field").removeClass("errRed"); $clonedDiv.find(".deg_date").removeClass("errRed"); $clonedDiv.find(".trans_date").removeClass("errRed"); $clonedDiv.find(".txt_degreName").removeClass("errRed"); //$(".cloned_field").removeClass("text-error-red"); } bind_validation(); return false; }); }