我有一些像这样的输入文字:
<input type="text" value="5" maxlength="12" id="qty" class="input-text qty" name="qty2050" tabindex="1">
and
<input type="text" value="0" maxlength="12" id="qty" class="input-text qty" name="qty2042" tabindex="1">
我想用jquery检查每个输入的值,如果一个输入中的数量不同于0,则执行一个函数。
修改 如何在unlod之前在页面上执行此操作?
感谢您的帮助。
答案 0 :(得分:2)
以这种方式尝试 -
$(window).unload(function() {
$('.input-text qty').each(function (){
var val = parseInt($(this).val(),10);
// you can use math.floor if your input value is float-
//var val = Math.floor($(this).val());
if(val !== 0)
alert(val);
});
});
答案 1 :(得分:1)
页面上不应该有两个相同的ID。 很简单应该是:
$('input.input-text.qty').each(function(){
if ($(this).val() !== '0') {
alert('Gotcha!');
return false; //quit loop since we're ok with 1 occurance
}
});
答案 2 :(得分:1)
$('.input-text').change( function() {
if($(this.val() != "0")){ //
action here
}
});
答案 3 :(得分:0)
使用change():http://api.jquery.com/change/
示例:要为所有文本输入元素添加有效性测试:
$("input[type='text']").change( function() {
// check input ($(this).val()) for validity here
});
答案 4 :(得分:0)
var checkInput = function() {
if(this.value !== '0') {
// do something
}
}
$(window).bind('unload', checkInput);
$('input[type=text]').change(checkInput);
我希望这会有所帮助。
答案 5 :(得分:0)
如果你真的想在卸载事件中使用这个,那么这样的东西就可以工作(未经测试),否则绑定到你想要的任何事件:
$(window).unload( function() {
$('.input-text qty').each(function (){
if( $(this).val() !== '0' ) {
alert("there is a 0");
return false;//breaks out of the each loop, if this line present will only get one alert even if both fields contain 0
}
});
});