Ich versuche, den Wert einer Gruppe von Optionsfeldern auszuwählen und damit eine Variable festzulegen. Die Idee ist, dass sich die Variable jedes Mal ändert, wenn das Optionsfeld geändert wird.

Aus irgendeinem Grund scheint dies nicht zu funktionieren, und ich habe keine Ahnung warum. Die Variable scheint sich nicht von der ursprünglich definierten '0' zu ändern. Die Variable sollte in einem Warnfeld angezeigt werden, wenn die gelbe Taste gedrückt wird.

Ich habe eine vereinfachte Version von dem zusammengestellt, was ich erreichen möchte - siehe unten.

<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>

Jede Hilfe sehr geschätzt.

Vielen Dank!

3
Chris 10 Okt. 2012 im 15:20

5 Antworten

Beste Antwort

Bitte versuchen Sie dies

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

Geigenlink

2
Pragnesh Chauhan 10 Okt. 2012 im 11:25

Ihre deklarierende Zahlungsart zweimal. Du brauchst var nicht:

$("input [name = paytype]").change(function(){
    paytype = $(this).val();
});
6
Darren 10 Okt. 2012 im 11:22

In dieser Zeile definieren Sie Ihre Variable neu

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

Ersetzen Sie es durch

paytype = $(this).val();
0
Ashirvad 10 Okt. 2012 im 11:23
$(document).ready(function(){
 var paytype = 0;

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

 $("#button").click(function(){
  alert ( paytype );
  });
 });
0
Man Programmer 10 Okt. 2012 im 11:23

Es gab nur wenige kleine Fehler.

<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>
0
Ashok Raj 10 Okt. 2012 im 11:28