JQuery入力ラジオは1回だけ動作します

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

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

$("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);
        }
    });
1
関連するHTMLを投稿してください。
追加された 著者 jackJoe,
あなたのhtmlには名前がなくなって入力が終わりました。おそらく貼り付けられた方法に関係しています。あなたの問題に関連して、支払い時にUPSを選択しない限り、ピックアップ(配達)がチェックされますか?他のお支払い方法を選択した場合は元に戻します(納品時にピックアップを確認してください)。
追加された 著者 jackJoe,
これは(テーブル構造なしで)以下になります。
  <input type = "radio" checked = "checked" id = "pm_ideal" value = "ideal" name = "paymentMethod"> <input type = " id = "pm_paypal" value = "paypal" name = "paymentMethod"> <input type = "radio" id = "pm_moneytransfer" UPSによる送達<input type = "radio" value = "UPS_ name =" paymentMethod "> <input type =" radio "value = pickUp "name =" deliveryMethod "checked =" checked ">ピックアップ 
追加された 著者 PvdL,
それは元に戻す必要はありません、あなたはpaypalで支払った場合、あなたはあなたの注文を拾うことができますが、あなたが注文を出荷させるときにピックアップでお支払いを選択することはできません。
追加された 著者 PvdL,

2 答え

ユーザーがピックアップ支払い方法を選択するたびに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('disabled', true);
    } else {
        $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('disabled', false);
    }
});

Fiddle: http://jsfiddle.net/zvcbz/

1
追加された

this is a jQuery object, not a string. You cannot add them together. At least use the code below:

$("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);
        }
    });
1
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript