我有一个插件可以比较表单中的2个字段,并根据结果发出警报。 它工作正常,除了我有多个表格。不过我在页面上有很多表单,插件运行的次数相同。这是一个命名空间问题吗?
$(document).ready(function() {
(function( $ ){
$.fn.totalPressedQuantityCheck = function(){
var form = $(this).parents('form');
var total_pressed_field = form.find('input[id*="total_pressed"]');
var variation_quantity_field = form.find('input[id*="quantity"]');
var total_pressed_amount = parseInt(total_pressed_field.val());
var variation_quantity_amount = parseInt(variation_quantity_field.val());
if ( !isNaN(total_pressed_amount) && !isNaN(variation_quantity_amount) ){
if ( total_pressed_amount < variation_quantity_amount ){
alert("PROBLEM");
}
}
}
})( jQuery );
$('input[id*="total_pressed"]').live('blur', function(){
$(this).totalPressedQuantityCheck();
});
$('input[id*="quantity"]').live('blur', function(){
$(this).totalPressedQuantityCheck();
});
FIX 其中一件事......我的js最终出现在我的循环中并且多次在HTML中呈现。感谢jsfiddle网站。我能够轻松地提取我的代码并缩小它的问题范围。我希望我之前知道这个网站!
答案 0 :(得分:0)
我相信您的问题是当您关联插件时
$('input[id*="total_pressed"]').live('blur', function(){
$(this).totalPressedQuantityCheck();
});
这会将两个表单的任何输入绑定到此函数。您所要做的就是使用更具体的选择器。
答案 1 :(得分:0)
所以我的js在我的循环中结束并且多次在HTML中呈现。杜尔。并感谢jsfiddle网站。我能够轻松地提取我的代码并缩小问题范围。我希望我之前知道这个网站!