1349 Stimmen

JQuery Ausgewählte Option aus Dropdown-Menü erhalten

Normalerweise verwende ich $("#id").val(), um den Wert der ausgewählten Option zurückzugeben, aber dieses Mal funktioniert es nicht. Das ausgewählte Tag hat die ID aioConceptName

HTML-Code

Name

AIO Konzept Name

    Wähle io
    roma
    totti

15voto

D.L.MAN Punkte 840

Sie sollten diese Syntax verwenden:

var value = $('#Id :selected').val();

Versuchen Sie also diesen Code:

var values = $('#aioConceptName :selected').val();

Sie können es in Fiddle testen: http://jsfiddle.net/PJT6r/9/

Mehr über diese Antwort finden Sie in diesem Beitrag

14voto

Ol Sen Punkte 2921

Um die richtigen Auswahlen mit jQuery zu finden, bedenke, dass mehrere Auswahlen in HTML-Bäumen verfügbar sein können und dein erwarteter Output durcheinander geraten kann.

(:selected).val() oder (:selected).text() funktionieren nicht richtig bei mehreren Auswahlen. Daher behalten wir zuerst ein Array aller Auswahlen wie .map() es tun könnte und geben dann das gewünschte Argument oder den Text zurück.

Das folgende Beispiel veranschaulicht diese Probleme und bietet einen besseren Ansatz

    Stadt1
    Stadt2
    Stadt3

    wähle io
    Rom 
    Totti

    Paloma
    foo
    Bar

$('select').change(function() {
    var a=$(':selected').text(); // "Stadt1Stadt2wähle iofee"
    var b=$(':selected').val();  // "Stadt1" - wählt nur die erste Auswahloption!
    //aber..
    var c=$(':selected').map(function(){ // ["Stadt1","Stadt2","wähle io","foo"]
        return $(this).text();
    }); 
    var d=$(':selected').map(function(){ // ["Stadt1","c2","s1","s5"]
        return $(this).val();
    });
    console.log(a,b,c,d);
});

Sieh den unterschiedlichen fehleranfälligen Output in Varianten a, b im Vergleich zu korrekt funktionierenden c & d, die alle Auswahlen in einem Array behalten und dann das zurückgeben, wonach du suchst.

13voto

d.popov Punkte 3980

Nur das sollte funktionieren:

var conceptName = $('#aioConceptName').val();

$(function() {
  $('#aioConceptName').on('change', function(event) {
    console.log(event.type + " Event mit:", $(this).val());
    $(this).prev('input').val($(this).val());
  });
});

Name

  Wähle io
  roma
  totti

12voto

sanman Punkte 740

Mit jQuery können Sie einfach ein change Ereignis hinzufügen und den ausgewählten Wert oder Text innerhalb dieses Handlers erhalten.

Wenn Sie den ausgewählten Text benötigen, verwenden Sie bitte diesen Code:

$("#aioConceptName").change(function () {
    alert($("#aioConceptName :selected").text())
});

Oder wenn Sie den ausgewählten Wert benötigen, verwenden Sie bitte diesen Code:

$("#aioConceptName").change(function () {
    alert($("#aioConceptName :selected").attr('value'))
});

10voto

Juan J Punkte 395

Einfach und ziemlich einfach:

Ihr Dropdown

    Wählen Sie io
    roma
    totti

Jquery-Code, um den ausgewählten Wert zu erhalten

$('#aioConceptName').change(function() {
    var $option = $(this).find('option:selected');

    //Mit dem EDIT hinzugefügt
    var value = $option.val(); // gibt den Wert der ausgewählten Option zurück.
    var text = $option.text(); // gibt den Text der ausgewählten Option zurück.
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X