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

时间:2013-08-03 08:29:58

标签: javascript jquery

我想在jQuery上使用简单的表单验证器

$('#clients_name').keyup(function(){
    if($('#clients_name').val().length >= 2){
      (...)
    }
});

但我想查看更多输入(文字,选择......),我不知道如何更改第一行以进行通用操作" keyup" (或其他)表格中的任何输入。这对于input = text很有用,但对于select not ...

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

2 个答案:

答案 0 :(得分:2)

只需使用This

即可
$('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(){..})进行选择框和检查,无线电。

答案 1 :(得分:0)

传递给this的回调函数中.keyup()的上下文将被设置为当前的DOM元素。只需参考this。但select元素不会触发keyup事件。所以我会改变你所拥有的东西:

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