2012-03-09 3 views
0
$('#myClick2').click(function() { 
       var value = $(this).val(); 
       If (value != 'on') { 
        $.getJSON('message_center_getMessageLists.asp', {}, function (json) { 
         alert(json.one); 
         alert(json.two); 
         alert(json.three); 
        }) 
        .error(function() { alert("There was an error while trying to make this request; If it persists please contact support"); }); 
       } 
      }); 

$ .getJSON部分はIF文を囲むまでうまくいきました。現在チェックされていない場合にのみ、.getJSONを実行するチェックボックスを取得しようとしています。私が間違ってやっていることは誰でも知っていますか?Jquery構造が期待どおりに機能しない場合

+1

チェックボックスをthis' 'ですif ($(this).is(':checked'))をしたいですか? – SLaks

+0

+0

'.click'の代わりに' .change'を使いたいかもしれません。 –

答えて

4

"...それが現在チェックされていない場合にのみ、.getJSONを実行"

を次に、このようにそれを行う...

if (!this.checked) { 
    $.getJSON(... 
+0

ありがとう@ジョセフ。 :) –

+0

最初のクリック(ボックスのチェック)で動作し、2度目のクリック(ボックスのチェックを外す)では動作しないようにするには、(this.checked)する必要がありました。しかし、これは魅力のように働いた、あなたの岩! –

+0

@JamesWilson:はい、ハンドラは状態の変更後に起動します。そのため、現在の状態は初期状態とは反対になります。 :) –

2

あなたifステートメントは大文字になります。それを小文字に変更して、問題を修正する必要があります。

実際にvalueonと等しくないことを確認してください。

UPDATE

次に何がやりたいことはif文でthis.checkedを使用しています。

+0

これは1つの問題を修正しましたが、今は別の問題が発生しているようです。私はfirbugを使用して、チェックされたときに値をつかむことができます。機能はそれを尊重していないようです。

+0

@JamesWilsonねえ、あなたの答えを更新しました。それがあなたのために働くかどうか見てください。 – brenjt

1

.val()がの値を返します。 value属性。

あなたはif (this.checked)(なしjQueryの)または

関連する問題