2011-10-28 12 views
1

JQueryに問題があります。私は、ラジオ入力の2つのセットを持っています.1つは支払方法を選択し、もう1つは出荷用です。私がピックアップで支払いを選択した場合、私は2番目のラジオが欲しいと言っています。 2番目のラジオを変更するまで、これはうまく動作します。その後は動作しません。JQuery入力ラジオは一度しか使用できません

基本的に、出荷を変更した後は、支払方法を変更するときに出荷が自動的に変更されることはありません。

$("input:radio[name=paymentMethod]").change(function() { 
     if($(this+':checked').val()=='pickUp'){ 
      $('input:radio[name=deliveryMethod]').filter('[value=pickUp]').attr('checked', true); 
      $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('checked', false); 
     } 
    }); 
+0

あなたは、関連するHTMLを投稿してくださいだろうか? – jackJoe

+0

これは(テーブル構造なしで)

    \t \t \t  Delivery by UPS  Pick up
PvdL

+0

あなたのhtmlには名前がなく、入力が終わっている可能性があります。おそらく貼り付けの方法に関係しています。あなたの問題に関連して、支払い時にUPSを選択しない限り、ピックアップ(配達)がチェックされますか?他のお支払い方法を選択した場合は元に戻します(納品時にピックアップを確認してください)。 – jackJoe

答えて

1

:少なくとも以下のコードを使用します何か他のものを選択する)、次のように:

$("input:radio[name=paymentMethod]").change(function() { 
    if ($('input:radio[name=paymentMethod]:checked').val() == 'pickUp') { 
     $('input:radio[name=deliveryMethod]').filter('[value=pickUp]').attr('checked', true); 
     $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('disabled', true); 
    } else { 
     $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('disabled', false); 
    } 
}); 

フィドルhttp://jsfiddle.net/zvcbz/

1

thisはjQueryオブジェクト、ない文字列です。それらを一緒に追加することはできません。ユーザーがピックアップ支払い方法を選択するたびに、「ブロック」にUPSの配信の選択をしたい場合、私はそれがあればUPSの配信方法を無効にする(してから再び有効にお勧めします

$("input:radio[name=paymentMethod]").change(function() { 
     if($('input:radio[name=paymentMethod]:checked').val()=='pickUp'){ 
      $('input:radio[name=deliveryMethod]').filter('[value=pickUp]').attr('checked', true); 
      $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('checked', false); 
     } 
    }); 
関連する問題