代码之家  ›  专栏  ›  技术社区  ›  NimChimpsky

如何在不使用循环的情况下,以固定数量更改每个输入元素的值?

  •  2
  • NimChimpsky  · 技术社区  · 15 年前

    我想选择每一个文本类型的输入框,并以固定的数量进行转换,当复选框被选中时,到目前为止我有这个。不过,我想知道是否有一种方法可以做到这一点,而不必迭代每个元素。。。

        $("#myID").change(function(){
    
           if($(this).is(':checked')){
    
               //I can't do this :
               $("input:text").val( $("input:text").val()*4);     
    
              //I have to do this ?
              $("input:text").each(function(index){
                   $(this).val($(this).val()*4);
               });
    
        });
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   lonesomeday    15 年前

    如果使用的是jQuery 1.4+,则可以使用函数回调来计算值:

    $("input:text").val(function(idx, oldVal) {
        return oldVal * 4;
    });
    

    the API .