文本输入值大于.. jQuery

时间:2012-04-15 22:46:36

标签: jquery wordpress

我正在使用wordpress并尝试在文本输入的值大于40时抛出消息。

<input type="text" name="quantity" size="2" value="<?php echo wpsc_cart_item_quantity(); ?>" />

现在我想在此文本字段包含大于40的值并且还要将其值重置为''时抛出一条消息(警报) 我的wordpress主题使用jquery 1.71 我正在做以下事情:

jQuery("input[type='text'][name='quantity']").change(function() {
if (this.val >= 41) {
    alert("To order quantity greater than 40 please use the contact form.");
    this.val == '';
    this.focus();
    return false;
}
});

感谢。

2 个答案:

答案 0 :(得分:3)

首先需要使用this函数包装$,因为这是选择查询而不是jQuery对象返回的DOM元素,而val()函数是不适用于那种物体。

此外,您需要使用括号调用val()函数,否则您正在处理函数体,而不是它返回的值。

最后,在赋值语句中有一个拼写错误。你应该至少做this.val = '',但这不起作用,因为val是一个函数,而不是一个变量。工作代码应如下所示:

$("input[type='text'][name='quantity']").change(function() {
    if ($(this).val() >= 41) {
        alert("To order quantity greater than 40 please use the contact form.");
        $(this).val('');
        $(this).focus();
    }        
});    

答案 1 :(得分:1)

嗯,你快到了,使用:

jQuery("input[type='text'][name='quantity']").change(function() {
    if (parseInt($(this).val(),10) > 40) {
        alert("To order quantity greater than 40 please use the contact form.");
        this.value == '';
        /* or with jQuery: $(this).val(''); */
        $(this).focus();
        return false;
    }
});

参考文献: