代码之家  ›  专栏  ›  技术社区  ›  Maarten Wolfsen

val()函数给出控制台错误

  •  0
  • Maarten Wolfsen  · 技术社区  · 8 年前

    这个 input[type="number"] max 属性,因此用户不能单击高于给定值的值。但这不包括键入的数字,它们可能远远超过给定的最大值。因此,使用jQuery,我想为这个问题提供一个解决方案。我已经得到了这个:

        var productPageInput = $('#product-options-wrapper .option input[type="number"].qty');
        var max = 60;
        productPageInput.attr('max', max);
    
        productPageInput.bind('keyup input', function(e){
            console.log($(this).val());
            if( $(this).val() > max ){
                $(this).val() = max;
            }
        });
    

    但是,每次我执行这段代码,输入60以上,就会出现控制台错误:

        Uncaught ReferenceError: Invalid left-hand side in assignment(…)
    

    它指向这条线:

        $(this).val() = max;
    

    这里怎么了?

    2 回复  |  直到 8 年前
        1
  •  4
  •   Pointy    8 年前

    要分配值:

    $(this).val(max);
    

    通常,JavaScript中赋值运算符左侧的函数调用没有意义。

        2
  •  0
  •   Mamdouh Saeed    8 年前

    这样,可以使用JQuery设置输入值

    $("input").val("value");
    //or
    $("input")[0].value = "value";