Javascript jQuery-对表单中的每个字段执行操作

Javascript jQuery-对表单中的每个字段执行操作,javascript,jquery,Javascript,Jquery,我想在jQuery上生成简单的表单验证器 $('#clients_name').keyup(function(){ if($('#clients_name').val().length >= 2){ (...) } }); 但是我想检查更多的输入(文本,选择…),我不知道我应该如何更改第一行,使我的表单中的任何输入的通用操作“keyup”(或其他)。这适用于输入=文本,但适用于选择不 $('input[type=text],select').keyup(fun

我想在jQuery上生成简单的表单验证器

$('#clients_name').keyup(function(){
    if($('#clients_name').val().length >= 2){
      (...)
    }
});
但是我想检查更多的输入(文本,选择…),我不知道我应该如何更改第一行,使我的表单中的任何输入的通用操作“keyup”(或其他)。这适用于输入=文本,但适用于选择不

$('input[type=text],select').keyup(function(){
    if($('#clients_name').val().length >= 2){
      (...)
    }
    if($('#clients_street').val().length >= 2){
      (...)
    }
});

只需使用

$('input[type="text"]').keyup(function(){   // $('select,input[type="checkbox"]').on('change',function(){
    if ($(this).val().length >= 2) {
      (...)
    }
    //Or can be
    if (this.value.length >= 2) {
      (...)
    }
});

但是
.keyup
只适用于文本框。您需要对选择框和复选框使用.on('change',function(){..})和radio。

传递给
.keyup()
的回调函数中该
的上下文将设置为当前DOM元素。只需参考此
。但是
select
元素不会触发
keyup
事件。因此,我会将您在那里的内容更改为:

$('input[type=text], select').on("change", function(){
    if(this.value.length >= 2){
      // do your validation
    }
});

这个。我想这个值可以。我知道我们也可以这样使用。但无论如何,它将在内部映射到
这个.value
。那么为什么要浪费时间做这些呢?不,不,我是说…我们可以像你说的那样使用,我在我的ans中也提到过…thnx用于建议操作。我的坏..对不起:)select是否具有键控功能?您不应该使用
change
进行选择吗?但“选择”键不起作用,对吗?还有广播。我找不到普遍的行动。。。