3

ラジオボタンのグループの値を選択し、それを使用して変数を設定しようとしています。ラジオボタンが変更されるたびに変数が変更されるという考え方です。

どういうわけかこれはうまくいかないようです、そして私は理由がわかりません。変数は最初に定義された「0」から変更されていないようです。黄色のボタンが押されると、変数がアラートボックスに表示されます。

私が達成しようとしていることの簡略化されたバージョンをまとめました-以下を参照してください。

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 var paytype = 0;

 $("input [name = paytype]").change(function(){
  var paytype = $(this).val();
  });

 $("#button").click(function(){
  alert ( paytype );
  });
 });
</script>

</head>
<body>
<form id="enrolmentform" action="thanks.php">

<input type="radio" name="paytype" id="bacs" value="Bank Transfer" />
<label for="bacs">Bank Payment/BACS Transfer</label>
<input type="radio" name="paytype" id="cheque" value="Cheque" />
<label for="cheque">Cheque</label>
<input type="radio" name="paytype" id="card" value="Card" />
<label for="card">Card</label>

<div style="width:45px; height: 20px; background-color: yellow; border: thin solid black; margin-top: 20px;"><a href="#" id="button">Button</a></div>
</form>

</body>
</html>

どんな助けでも大歓迎です。

ありがとう!

4

5 に答える 5

6

ペイタイプを2回宣言します。あなたは必要ありませんvar

$("input [name = paytype]").change(function(){
    paytype = $(this).val();
});
于 2012-10-10T11:22:25.893 に答える
2

これを試してください

$("input:radio[name='paytype']").change(function(){
 paytype = $(this).val();
});  

フィドルリンク

于 2012-10-10T11:25:28.180 に答える
0

この行で変数を再定義しています

var paytype = $(this).val();

に置き換えます

paytype = $(this).val();
于 2012-10-10T11:23:00.387 に答える
0
$(document).ready(function(){
 var paytype = 0;

 $("input [name = paytype]").change(function(){
  paytype = $(this).val();
  });

 $("#button").click(function(){
  alert ( paytype );
  });
 });
于 2012-10-10T11:23:18.310 に答える
0

そこに行く、小さな間違いはほとんどありませんでした。

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js">            </script>
<script type="text/javascript">
$(document).ready(function(){
 var paytype;

 $("input[name='paytype']").change(function(){
   paytype = $(this).val();
  });

 $("#button").click(function(){
  alert ( paytype );
  });
 });
</script>

</head>
<body>
<form id="enrolmentform" action="thanks.php">

<input type="radio" name="paytype" id="bacs" value="Bank Transfer" />
<label for="bacs">Bank Payment/BACS Transfer</label>
<input type="radio" name="paytype" id="cheque" value="Cheque" />
<label for="cheque">Cheque</label>
<input type="radio" name="paytype" id="card" value="Card" />
<label for="card">Card</label>

<div style="width:45px; height: 20px; background-color: yellow; border: thin solid     black; margin-top: 20px;"><a href="#" id="button">Button</a></div>
</form>

</body>
</html>
于 2012-10-10T11:28:18.083 に答える