jquery验证表单中的单选与多选实例(2)

}
            }
        },
        //向某一个数组中添加一个元素
        pushArr: function (arr_name, elementValue) {
            for (var pushArr_i = 0, pushArr_len = setting.length; pushArr_i < pushArr_len; pushArr_i++) {
                if (setting[pushArr_i].key == arr_name) {
                    setting[pushArr_i].value.push(elementValue);
                }
            }
        }
    }

} ());


/**
*复选框或单选的点击事件 应用到了上面的map
* @author 电子科大科园 庄濮向
* @return 数组存储器对象
*/
function chk(event, arrName) {

if (event.checked == true) {
        //向名为arrName的数组中添加一个元素
        MapArr.pushArr(arrName, event.value);
    } else {
        //在名为arrName的数组中去除一个元素
        MapArr.delArr(arrName, event.value);
    }

var checkInput = document.getElementById(arrName);

    if (MapArr.getArr(arrName)[0] == 'undefined' || MapArr.getArr(arrName)[0] == null) {
        checkInput.value = null; //把这个数组的值给他。 这样的话,就起到了验证的效果
    } else {
        checkInput.value = MapArr.getArr(arrName)[0];
    }
    //如何让提示信息在加入值过后就消失掉?
    if (!$("#form1").valid()) return false; //只是为了让这一章展开的消失,所以千万不要去运行提交的那个check,会影响章节的显示
}


二:在你需要验证的多选或单选的那一组标题后面加入一个input:

复制代码 代码如下:


<input type="text"  />


三:在你的checkbox或是radio标签内加入事件:

复制代码 代码如下:


onclick="chk(this,'BAC')"


四:一致性:在"二"中的那个input是用来作提示信息的,所以你的id 和name 一定要有,且名字要一致,如上就是:id="BAC", ,input写好过后,在加入事件的时候,你第二个参数要与input的id同名,也要是BAC;

五:配置,面子做好了,就是核心的配置了,这个配置在哪儿配呢,就是叫你引入的我上面的js代码中。onclick="chk(this,'BAC')",是给每一个复选或单选加事件,同时还有一个意思,说明要把这个复选应用到BAC这个数组中,所以,我们去setting中配置一个数组。

在MapArr中加入一个数组:

复制代码 代码如下:


  var BAC=[];


在MapArr的setting中加入一个对象:

复制代码 代码如下:


  {
    key:"BAC",
    value:BAC
  }


千万要保证一致性,不然不会成功。
  重点:input的id同onclick的第二个参数一致 MapArr中加入的数组变量的变量名与input的id一致,setting中的key的值同input的id一致 setting 中的value的值是你配置的这个数组。好啦,现在就可以实现验证了。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdzswd.html