2014-11-24 59 views
0

我试图遍历类entry_percent中的所有滑块值,排除当前选定的滑块。

无论我如何尝试它,我无法滤除当前选定的滑块?

我失去了什么......

下面的代码... (注释掉是一些我已经试过了什么)......

// get total of sliders other then current 
     function sum_sliders() { 
      var sum=0; 
      var total=0; 

      //var sliders = $('.entry_percent:not(this)');// get every slider other then the current 

      //var sliders = $('.entry_percent').not(this); 

      //var sliders = $('.entry_percent:not(this)'); 

      //var sliders = $('.entry_percent:not(this)' 

      // var sliders = $('.entry_percent:not').(this); 

      var sliders = $('.entry_percent').not(this); 


      //iterate through each input and add to sum 
      $(sliders).each(function() { 

       sum += parseFloat(this.value); 
       console.log('Sum sliders value: '+ sum); 

      }); 

      return(sum); 

     } 
+0

你的问题完全不可理解。你的HTML看起来如何?除了$(this)之外,你的意思是什么“(这两件事根本没有任何联系)。 – hon2a 2014-11-24 12:03:18

+1

你在哪里使用'sum_sliders'函数? – Satpal 2014-11-24 12:03:18

+1

*“当前选择的滑块”*与其他*有何不同?也许有特殊的课程,例如'.active'左右?在你的例子中''这个'可能指的是任何东西,而不是一个特定的对象。 – VisioN 2014-11-24 12:03:32

回答

1

没有this哪里你正在寻找它。你必须通过this的功能,像这样:

function sum_sliders() { 
    var sum=0, total=0; 
    var sliders = $('.entry_percent').not(this); 
    //iterate through each input and add to sum 
    $(sliders).each(function() { 
     sum += parseFloat(this.value); 
     console.log('Sum sliders value: '+ sum); 
    }); 
    return(sum); 
} 
$("#elementYouClickToCallFunction").click(sum_sliders); //Instead of using an anonymous function 

还有 - 从你提供的东西 - 没有理由不只是包括sum_sliders点击绑定匿名函数里面的内容:

$("#elementYouClickToCallFunction").click(function(){ 
    var sum=0, total=0; 
    var sliders = $('.entry_percent').not(this); 
    //iterate through each input and add to sum 
    $(sliders).each(function() { 
     sum += parseFloat(this.value); 
     console.log('Sum sliders value: '+ sum); 
    }); 
    return(sum); 
}); 
+0

如果你这样调用函数:'$('#elementYouClick')。click(sum_sliders)'jQuery(从内存中)将clicked-element作为'this'传递给函数。 – 2014-11-24 12:13:43

+0

@DavidThomas是的,修复。 – Mooseman 2014-11-24 13:09:27

+0

我做的菜鸟错误。感谢启发。 – Sage 2014-11-24 14:13:54

相关问题