webentwicklung-frage-antwort-db.com.de

JQuery-Wert von Optionsfeld ändern

Ich habe eine Variable namens category, die ihren Wert entsprechend dem ausgewählten Optionsfeld ändern muss. Das Problem ist, dass ich das beim Klicken eines oder mehrerer Optionsfelder nicht bekomme, der Wert ändert sich sofort. 

Dies ist der Code, den ich habe:

<form>
<input type="radio" name="category" value="doctor" /> Doctor
<input type="radio" name="category" value="police" checked /> Policia
</form>

var category = $('[name="category"]:checked').val();

Sie müssen den Wert der Variablen category automatisch ändern, wenn Sie auf die Optionsfelder klicken.

10
Nacho Sarmiento

Sie müssen den Wert der Kategorie jedes Mal ändern, wenn ein Benutzer das ausgewählte Optionsfeld ändert. Daher benötigen Sie ein Ereignis, das ausgelöst wird, wenn der Benutzer ein Radio anklickt. Sie können die GEIGE ausprobieren.

var category = null;
$("input[name='category']").click(function() {
    category = this.value;
});
14
Jose Vega

Hängen Sie einen Event-Handler an das Ereignis change an:

$(':radio[name="category"]').change(function() {
  var category = $(this).filter(':checked').val();
});
38
Blender
var category;
    $(':radio[name="category"]').change(function() {
      category=this.value;
    });

Und dies ist eine jsfiddle.net demo.

1
nima shayanfar

Ich denke du brauchst einfach so etwas:

var category;

    $('radio[name="category"]').click(function(){
      category=this.value;
    });
1
albanx

Sie sollten nicht dieselbe ID für mehr als ein Element angeben. Stattdessen verwenden Sie class wie folgt:

<form>
  Option 1<input type="radio" name="opt" class="radio" value="Option 1">
  Option 2<input type="radio" name="opt" class="radio" value="Option 2">
</form>

anstatt :

<form>
  Option 1<input type="radio" name="opt" id="radio" value="Option 1">
  Option 2<input type="radio" name="opt" id="radio" value="Option 2">
</form>

und dein Code ist immer noch derselbe und es sollte gut funktionieren :)

1
ala'a alqadi

Verwenden Sie anstelle der Variable category$('[name="category"]:checked').val(), wo immer Sie den Wert des aktivierten Optionsfelds wünschen. Andernfalls können Sie das Ereignis change oder click verwenden, um den Wert der Optionsfelder checked in category zu setzen.

0
ShankarSangoli

verwenden Sie .change () , um das Änderungsereignis für ein Optionsfeld zu erfassen.

0
bdparrish