2011-12-28 7 views
0

countTickedという名前の変数がページ内に何個あるかの整数を格納しています。値が1より大きい場合、これを実行します

私はcountTickedの値は、私はあなたたちが提供した変更を実装しました。1.

if (!$(clickedCheckBox).is(':checked')) 
{ 
    //do something 
} 
else 
{ 
    var selectedDots = $(currentMap).find('div.' + checkBoxID); 
    var relatedCheckBoxes = $(selectedDots).attr('class');   
    var countTicked = $(relatedCheckBoxes).filter(':checked'); 

    if (countTicked > 1) 
    { 
     //do one thing 
    } 
    else 
    { 
     //do something else 
    }  
} 

よりも大きい場合に何かをするif文を必要とします。しかし、私の2番目のIFステートメントはまだ動かない。私はまだ間違って何をしていますか?

+0

関連するボックスとはなんですか?要素の名前?クラス?変数? – gdoron

+1

jQueryオブジェクトの 'length'プロパティを使用しているので、' parseInt'(これはすでに数値です)を使う必要はありません。 –

+0

parseIntを使うときは、次のように2番目の変数も渡してください:parseInt($(relatedBoxes).length、10);さもなければ、奇妙なことが起こり得る。 –

答えて

2

なぜ$記号を使用しますか? relatedBoxesとは何ですか?

var countTicked = parseInt($(relatedBoxes).length); 

if (countTicked > 1) 
{ 
    //do something 

} 
else 
{ 
    //do something else 
} 

更新:要素の数を取得するには、長さを使用する必要があります。

var countTicked = $(relatedCheckBoxes).filter(':checked').length; 
+1

整数を解析するのに' parseInt'を使うのは誰ですか? :) –

+0

@pst、質問の所有者...私は何が関連しているのかわかりません... – gdoron

+0

あまりにも多くのgdoronありがとう、最後にそこに着いた!あなたの権利は、長さのプロパティが欠けていた。 +1 –

3

だけ条件かのようにこれを使用する:

if (countTicked > 1) 

countTickedは、整数、jQueryオブジェクトにそれを置く必要はありませんが含まれています。

+1

そして、最初の行のparseIntも必要ではありません.length属性は常に整数を含んでいます。 – Armin

1

それは次のようになります。

var countTicked = parseInt($(relatedBoxes).length); 

      if (countTicked > 1) 
      { 
       //do something 

      } else 
      { 
       //do something else 
      } 

あなたが変数としてcountTickedを使用しているよう。 jqueryオブジェクトとして使用する必要はありません

+2

'parseInt'をマイナスする –

1

$(relatedCheckBoxes).filter(':checked')length性を有するjQueryオブジェクトです。

var countTicked = $(relatedCheckBoxes).filter(':checked').length 

parseIntが義務付けされていない使用ので、チェックさチェックボックスの量を知るために。

+0

おかげさまでお役に立ちましたが、私の2番目のIFステートメントが動作しない理由をまだ理解していません。 –

関連する問題