文本输入值大于.. 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()
。