2017-09-17 1 views
0

Ich habe ein wenig Drop-Down-Menü zu einer Webseite hinzugefügt:bekommt den Wert eines Dropdown-Menüs mit jQuery

function addDropDownMenu() { 
     var positionMenu = $(
      "<form class='drop_down_menu'>" + 
       "<select name='roles'>" + 
        "<option value='notSelected'>Not Selected</option>"+ 
        "<option value='relevant'>Relevant</option>"+ 
        "<option value='notRelevant'>Not Relevant</option>" + 
       "</select>" + 
      "</form>"); 

     $('#profile-experience .position').prepend(positionMenu) 
    } 

ich den Wert von entweder Relevant oder Not Relevant zu bekommen versuchen.

Allerdings, wenn ich diesen Code ausführen, bekomme ich immer eine leere Zeichenfolge.

var x = $('.drop_down_menu')[0] 
// x is the form 
$(x).val() 

kehrt ""

Was bin ich? Falsch machen?

+0

Y verwenden Du brauchst '$ ('. drop_down_menu select'). val()' –

+0

@Morgan, es funktioniert für dich? –

+0

dauerte eine Weile, um herauszufinden, was los war. Aus irgendeinem Grund konzentrierte sich der Debugger auf einen iFrame und wies daher immer wieder leer aus. Alle diese Antworten funktionierten :-) –

Antwort

3

Sie können dieses versuchen:

var selectedValue = $('.drop_down_menu>select').val(); 

var selectedValue = $('.drop_down_menu>select').val(); 
 
console.log('The selected value is: '+ selectedValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form class='drop_down_menu'> 
 
    <select name='roles'> 
 
    <option value='notSelected'>Not Selected</option> 
 
    <option value='relevant' selected>Relevant</option> 
 
    <option value='notRelevant'>Not Relevant</option> 
 
    </select> 
 
</form>

0

$('.drop_down_menu') Anweisung gibt ein jquery Element mit den Eigenschaften und Methoden, um es entsprechend, aber $('.drop_down_menu')[0] gibt nur den HTMLDOM Element.

Sie müssen die value Eigenschaft verwenden, um die value des ausgewählten Elements zu erhalten.

console.log($('select')[0].value);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name='roles'> 
 
    <option value='notSelected'>Not Selected</option> 
 
    <option value='relevant' selected>Relevant</option> 
 
    <option value='notRelevant'>Not Relevant</option> 
 
    </select>

Ihr Beispiel funktioniert nicht, weil Sie einen Selektor für ausgewähltes Element

var x = $('.drop_down_menu > select')[0] 
 
console.log($(x).val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form class='drop_down_menu'> 
 
      <select name='roles'> 
 
       <option value='notSelected'>Not Selected</option> 
 
       <option value='relevant' selected>Relevant</option> 
 
       <option value='notRelevant'>Not Relevant</option> 
 
      </select> 
 
</form>

+0

Bitte erklären Sie Ihren Downvote ... Warum einige Menschen richtige Antworten downvotes? –

+0

für die richtige Erklärung (+1) von mir :) – Christos

+0

@Christos, danke, das gleiche gilt für dich :) –

0
var _val = $("[name='roles']").val(); 
console.log(_val); 
+0

Sie benötigen: Den Wert eines Dropdown-Menüs erhalten jQuery verwenden. – ebnibrahem

+0

Während Antworten immer geschätzt werden, hilft es wirklich, einige zusätzliche Informationen zu geben, ** wie ** Ihr Code das vorliegende Problem löst. Dies hilft denen mit ähnlichen (aber nicht identischen) Problemen. Nicht jeder ist mit Ihrer genauen Codierungslogik vertraut, kann aber Ihren allgemeinen * Ansatz * oder * Begriff * verstehen. Um deine Antwort zu verbessern, stelle bitte einige [** Kontext umgebende ** **] (https://meta.stackexchange.com/questions/114762) und den Hilfeartikel auf [** große Antworten schreiben **] (http://stackoverflow.com/help/how-to-answer) für einige Tipps, wie Sie Ihre Antworten zählen können :) –

Verwandte Themen