0

ラジオ ボタン、テキスト フィールド、チェックボックス、非表示のテキスト フィールドのセットがあります。

<input type="radio" name="amount-value" value="33">   $ 33   <br>
<input type="radio" name="amount-value" value="50">   $ 50   <br>
<input type="radio" name="amount-value" value="100">  $ 100  <br>
<input type="radio" name="amount-value" value="250">  $ 250  <br>
<input type="radio" name="amount-value" value="500">  $ 500  <br>
<input type="radio" name="amount-value" value="1000"> $ 1000 <br>
<input type="radio" name="amount-value" value="3333"> $ 3,333<br>
<input type="radio" name="amount-value" value="5000"> $ 5,000<br>
<input type="radio" name="amount-value" value="0" id="other-amount">                
  $ <input type="text" name="" id="other-amount-val" disabled="disabled">

<p><input type="checkbox" id="rainforest_guardian">I'd like to become a Rainforest Guardian by making this an ongoing monthly gift.</p>         

<input id="donation_amount" name="amount" value="" type="hidden" >

最後のラジオ ボタン #other-amount が選択されているときに、#other-amount-val テキスト フィールドを有効にしたいと考えています。

#rainforest-guardian チェックボックスがチェックされている場合、#donation_amount の name 属性を「a3」に変更したいと思います。

これは私がこれを行うために使用しようとしている JS ですが、私が間違っていることを解決できません。Web インスペクターは、if ステートメントで「未定義は関数ではありません」と表示しています。

<script>

$(document).ready(function() {


    // Enable Amount input box if radio button is selected

    $('#other-amount').change(function() {
      if (('#other-amount').prop('checked', true)) {
        $('#other-amount-val').prop('disabled', false);
      } else {
        $('#other-amount-val').prop('disabled', true );
      }
    });

    // Change name attribute value if checkbox is selected

   $('#rainforest_guardian').click(function() {
      if (('#rainforest_guardian').is(':checked')) {
        $('#donation_amount').prop('name', "a3");
      } else {
        $('#donation_amount').prop('name', "amount" );
      }
    });

</script>

私は StackExchange でいくつかの関連する投稿を見て、上記のように click() と change() など、さまざまなことを試しました。

私が間違っていることを教えてください。前もって感謝します。

4

2 に答える 2