2011-08-10 12 views
0

私はこの声明に問題があり、私はいくつかの助けを得ることができたと思っていました。本質的に、edweekedevenings(チェックボックス)が等しくない場合、私は自分の配列にプッシュしたいと思います。私が抱えている問題は、値の1つを等しくないようにすることですが、2番目の値を追加すると効果がありません。Javascriptの比較ヘルプ

var val = $(this).val() ; 
if (val != $("#edweek").val() && val != $("#edevenings").val()) { 
    edVals.push($(this).val()); 
} 

答えて

0

function getEdVals() { 
    var edVals = []; 
    $('#edinitiativecont :checked').each(function() { 
    if($(this).val() == $("#liveweb").val()){ 
     edVals.push($(this).val()); 
    } else { 
     if($(this).val() == (!($("#edweek").val()) || $("#edevenings").val())){ 
    edVals.push($(this).val()); 
     } 
    } 
    }); 
} 
0

変更

if($(this).val() == (!($("#edweek").val()) || $("#edevenings").val())){ 
    edVals.push($(this).val()); 
} 

一緒にすべてを見なければ、正確な解を保証するために、少し難しいです。以下の解決策は、現在のロジックを凝縮し、else条件文を修正します。

function getEdVals() { 
    var edVals = []; 
    $('#edinitiativecont :checked').each(function() { 
     var ele = $(this); 
     var eleValue = ele.val(); 
     if(eleValue == $("#liveweb").val() || (eleValue != $("#edweek").val() || eleValue != $("#edevenings").val())){  
      edVals.push(eleValue);  
     } 
    }); 
}