Rufen Sie die Javascript-Funktion auf, wenn das Ereignis der Dropdown-Liste geändert wird

Lesezeit: 2 Minuten

Ich möchte die Javascript-Funktion aufrufen, wenn sich der Wert in der Dropdown-Liste ändert. Ich möchte die Dropdown-Listen-ID nicht fest codieren .

Daher nicht verwenden document.getElementById

Mein Code:

<select id ="ddl" name="ddl" onmousedown="this.value="";" onchange="jsFunction(this.value);">
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
</select>

function jsFunction(value)
{
    alert(value);
}

Dies gibt Fehler ReferenceError: jsFunction is not defined

Geige : http://jsfiddle.net/6uyz4b8x/1/

  • will das? Sie müssen die Geigeneinstellungen aktualisieren und das zweite Dropdown-Menü auf ändern nowrap in zu fummeln!

    – Dhaval Marthak

    3. November 2014 um 7:57 Uhr


  • @DhavalMarthak: Ja +1!

    – Zottelig

    3. November 2014 um 8:00 Uhr

Benutzeravatar von SilentTremor
SilentTremor

Ihr Code funktioniert einwandfrei, Sie müssen die Javascript-Methode deklarieren, bevor DOM bereit ist.

dein Arbeitsbeispiel

Benutzeravatar von Bartek Andrzejczak
Bartek Andrzejczak

Ich weiß nicht, wozu du das brauchst onmousedown Event hier, aber was Sie tun müssen, ist Ihre Funktion über die tatsächliche Nutzung zu stellen. Sehen Sie sich den folgenden Ausschnitt an:

<script type="text/javascript">
function jsFunction(value)
{
    alert(value);
}
</script>

<select id ="ddl" name="ddl" onmousedown="this.value="";" onchange="jsFunction(this.value);">
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
</select>

mit jQuery

 $("#ddl").change(function () {
                alert($(this).val());
            });

jsFiddle

  • Was ist, wenn ich auch den Text der Auswahl erhalten möchte? Ich habe es versucht $(this).text() aber es zeigt alle Texte für alle Dropdown für jeden einzelnen Klick.

    – Unzerbrechlich

    28. Juli 2017 um 13:32 Uhr


Benutzeravatar von Dinesh.net
Dinesh.net

Probieren Sie es einfach aus, es ist so einfach

 <script>

  $("#YourDropDownId").change(function () {
            alert($("#YourDropDownId").val());
        });

</script>

jsFunction ist nicht gut geschlossen. ändern:

jsFunction = function(value)
{
    alert(value);
}

und verwenden Sie keine globalen Variablen und Funktionen, ändern Sie sie in Modul

  • Es löst das Problem nicht. Ihre Antwort gibt nur gute Ratschläge.

    – Bartek Andrzejczak

    3. November 2014 um 8:05 Uhr

  • Seltsam … Das tut es tatsächlich. Das tut mir leid 😉

    – Bartek Andrzejczak

    3. November 2014 um 8:10 Uhr

  • es funktioniert, weil dies: stackoverflow.com/questions/336859/…

    – bemol

    3. November 2014 um 8:17 Uhr

  • So erhalten Sie auch den Text

    – Unzerbrechlich

    28. Juli 2017 um 13:33 Uhr

  • Es löst das Problem nicht. Ihre Antwort gibt nur gute Ratschläge.

    – Bartek Andrzejczak

    3. November 2014 um 8:05 Uhr

  • Seltsam … Das tut es tatsächlich. Das tut mir leid 😉

    – Bartek Andrzejczak

    3. November 2014 um 8:10 Uhr

  • es funktioniert, weil dies: stackoverflow.com/questions/336859/…

    – bemol

    3. November 2014 um 8:17 Uhr

  • So erhalten Sie auch den Text

    – Unzerbrechlich

    28. Juli 2017 um 13:33 Uhr

1434010cookie-checkRufen Sie die Javascript-Funktion auf, wenn das Ereignis der Dropdown-Liste geändert wird

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy