2

2つのラジオボタンと1つのボタンを含むフォームがあります。2つのラジオボタンのどちらが選択されているかに基づいて、ボタンの値を変更したいと思います。私の推測では、これにはPHPよりもjQueryを使用する方が良いと思いますが、それが間違った仮定である場合はお知らせください。

HTMLの例を次に示します。

<form>
  <ul>
    <li>
     <input type="radio" name="basic" value="basic1">
     <label for="basic1">Basic 1</label>
    </li>
    <li>
    <input type="radio" name="basic" value="basic2">
    <label for="basic2">Basic 2</label>
    </li>
  </ul>
  <button id="basic1" name="startReg" type="submit" value="basic1">Confirm</button>
</form>

つまり、ボタンのIDと値を、選択されているラジオボタンの値に置き換えたいと思います。したがって、2番目のラジオボタンが選択されている場合、ボタンタグは次のようになります。

<button id="basic2" name="startReg" type="submit" value="basic2">Confirm</button>
4

3 に答える 3

3

あなたはこれを行うことができます:

$(':radio').on('change', function() {

  // this.value for get the id of radio

  $('button[name=startReg]')
                        .attr('id', this.value )   // change id of button
                        .val( this.value );        // update value of button
});

デモ

ただし、選択したradio値は自動送信されます。

于 2012-07-08T16:07:49.250 に答える
1
$('input:radio').click(function(){
  $('button').prop({'id' : $(this).val(), 'value' : $(this).val()});   
});
于 2012-07-08T16:09:50.177 に答える
1

コントロールの名前を変更するだけで、ボタンの値を変更した場合と同じフォームデータが送信されます。

<form>
  <ul>
    <li>
     <input type="radio" name="startReg" value="basic1" checked="checked">
     <label for="basic1">Basic 1</label>
    </li>
    <li>
    <input type="radio" name="startReg" value="basic2">
    <label for="basic2">Basic 2</label>
    </li>
  </ul>
  <button id="basic1" name="somethingElse" type="submit">Confirm</button>
</form>
于 2012-07-08T16:39:26.197 に答える