无法在循环中添加jQuery焦点

时间:2015-12-10 13:58:16

标签: javascript jquery

我正在为表单元素textarea进行自定义实时验证。我正在尝试在for循环中为我的数组中的每个字段添加一个focus侦听器。

代码:

var fieldIds = ["field10","field8","field6","field5","field4"];
//On focus out/focus in
    for (var i=0; i<fieldIds.length;i++){
            $( "#"+fieldIds[i] ).focusout(function() {
                focusOutValidation(fieldIds[i]);
            });
            $( "#"+fieldIds[i] ).focus(function() {
                focusInValidation(fieldIds[i]);
            });
        }

    function focusOutValidation(fieldId){
        if ($('#'+fieldId).val().length == 0){
                $('#'+fieldId).removeClass('LV_valid_field');
                $('#'+fieldId).addClass('LV_invalid_field');
            }else{
                $('#'+fieldId).addClass('LV_valid_field');
                $('#'+fieldId).removeClass('LV_invalid_field');
            }
        }

    function focusInValidation(fieldId){
        if ($('#'+fieldId).val().length == 0){
            $('#'+fieldId).removeClass('LV_invalid_field');
        }

出于某种原因,在调试期间,当我关注数组中的任何字段时,脚本会转到focusInValidation函数,但fieldId未定义。有什么想法吗?

0 个答案:

没有答案