0

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

<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;
}
});

谢谢。​</p>

4

2 回答 2

3

您首先需要this使用该$函数进行包装,因为这是选择查询返回的 DOM 元素,而不是 jQuery 对象,并且该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();
    }        
});    
于 2012-04-15T23:12:13.667 回答
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;
    }
});

参考:

于 2012-04-15T22:50:51.907 回答