我正在使用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;
}
});
感谢。
答案 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;
}
});
参考文献: