文本输入值大于.. jQuery

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

<input type="text" name="quantity" size="2" value="" /> 

现在我想在这个文本字段包含大于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; } }); 

谢谢。

首先需要使用$ function包装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(); } }); 

好吧,你差不多就在那里,使用:

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

参考文献:

  • parseInt()
  • .val()