4

次のようなフォームで HTML のラジオ ボタンのセットを定義しました。私のフォームの名前は「MyForm」です。女性が選択されている場合、変数の値を「女性」に等しくしたい。

<fieldset data-role="controlgroup" data-type="horizontal" id="gender" name="gender">
                    <legend>Gender :</legend>
  <input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked" />
                        <label for="radio-choice-1">Male</label>

 <input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2"/>
                        <label for="radio-choice-2">Female</label>
                </fieldset>

私はvarとして試しました

genderValue = $('input[name=gender]:checked', '#MyForm').val()

しかし、これは機能していません。正しい方法は何ですか?

4

3 に答える 3

4

マークアップに基づいて、値( female、 )を入力の値属性に保存できます。次のことを試すことができます。...

$('input[name="radio-choice-1"]').change(function(){
   var genderValue = $(this).next('label').text()
})


しかし、私はこれをお勧めします:

<fieldset data-role="controlgroup" data-type="horizontal" id="gender" name="gender">
   <legend>Gender :</legend>
   <input type="radio" name="radio-choice-1" id="radio-choice-1" value="Male" checked="checked" />
   <label for="radio-choice-1">Male</label>
   <input type="radio" name="radio-choice-1" id="radio-choice-2" value="Female"/>
   <label for="radio-choice-2">Female</label>
</fieldset>

$('input[name="radio-choice-1"]').change(function(){
   var genderValue = this.value
})
于 2012-07-19T04:23:31.543 に答える
1

あなたの問題は以下のように解決されました:

HTML:

<form id="MyForm" name="MyForm" method="post">
  <fieldset>
    <legend>
      Gender
    </legend>
    <div id="panel">
      <input type="radio" name="radio-choice" id="radio-choice-1" value="choice-1" />
      <label for="radio-choice-1">
        Male
      </label>
      <input type="radio" name="radio-choice" id="radio-choice-2" value="choice-2" />
      <label for="radio-choice-2">
        Female
      </label>
    </div>
    <div id="result">
    </div>
  </fieldset>
</form>

jQuery:

$(function() {
    $('input[name="radio-choice"]').change(function() {
        var genderValue = $(this).next('label').text();
        $("#result").html("<p> You have selected " + genderValue + ".");
    })
});

http://codebins.com/bin/4ldqpaaでビンを作成しました

于 2012-07-19T05:55:56.580 に答える