2016-04-21 7 views
0

Ich habe ein Dropdown, das von einer Datenbank gefüllt wird und alles funktioniert gut. Allerdings möchte ich einen Parameter an PHP übergeben, basierend auf dem Wert des Dropdowns, was ich tun kann. Wenn ich erzwinge, dass die Variable eine bestimmte Nummer hat, erhält sie das entsprechende Element in der Datenbank. Ich habe ein Problem, um den Wert eines Drop-downs zu erhalten. Ich habe alle Vorschläge hier im Forum ausprobiert und nichts funktioniert in diesem speziellen Bereich meines Codes. Ich habe es an einem anderen Teil meines Codes arbeiten, aber nicht an diesem bestimmten und ich weiß nicht warum. Hier ist mein Code:Indexwert von Dropdown-Formular erhalten

<select id="servicos" onChange="return selectServ();"> 
    <option value="item" class="itemoption">Serviço</option> 

Dies ist der Code, das nicht funktioniert:

function selectServ() { 
    var e = document.getElementById("servicos"); 
    var idserv = e.options[e.selectedIndex].value; 

    $.getJSON("http://ib.esy.es/gestao/_php/servicos_threadingpreco.php", { serv: idserv }, null).then(function(data) { 
     console.log(data); 
     var tr = data 
     for (var i = 0; i < data.length; i++) { 
      var tr = $('<tr/>'); 

      // Indexing into data.report for each td element 
      $(tr).append("<td>" + data[i].preco + "</td>"); 
      $('.table1').append(tr); 
     } 
    }); 
} 

Wenn ich setzen

var idserv = "1" 

Es funktioniert, aber dies:

var e = document.getElementById("servicos"); 
var idserv = e.options[e.selectedIndex].value; 

Erhält keinen Wert. Das Konsolenprotokoll gibt:

selectdynamicpreco.html:76 Uncaught TypeError: $(...).value is not a function

+1

Warum verwenden Sie Javascript Sie, wenn Sie jQuery aufgenommen haben? Das ist wie mit einem Löffel statt mit einem Spaten. Zum Beispiel: Warum nicht '$ ('servicos'). Val();' – Peter

+0

Derselbe Fehler im Konsolenprotokoll. –

+0

@Peter Es tut mir leid, dass Ihr Kommentar funktioniert, ich habe gerade die falsche Datei hochgeladen. Vielen Dank! –

Antwort

0

Sie sollten mit jQuery betrachten den Wert der Dropdown-Liste zu erhalten. $ ('# Drop-Down') val() gibt Ihnen den gewählten Wert der Drop-down-Element. Verwenden Sie dies, um den ausgewählten Optionstext zu erhalten.

$("#dropdown option:selected").text();

Sollten Sie den Textwert des Dropdown bekommen.

+0

'.val(). Text()' wird einen Fehler verursachen –

+0

Sorry bedeutete $ ("# dropdown option: selected"). Text(); – Ross

+0

Derselbe Fehler im Konsolenprotokoll. –

0

auf einem anderen Stück des Codes Das funktioniert

<script> 
function selectCat(){ 
$('#servicos').change(function() { 
    $('#demo').text($(this).find(":selected").text()); 
}); 
//for textbox use $('#txtEntry2').val($(this).find(":selected").text()); 
    var e = document.getElementById("categoria"); 
    var servSelected = e.options[e.selectedIndex].value; 

    var url = ""; 

    var items=""; 
    if(servSelected === "1"){ 
    url = "http://ib.esy.es/gestao/_php/servicos_threading.php"; 
    } 
    if(servSelected === "2"){ 
    url = "http://ib.esy.es/gestao/_php/servicos_sobrancelhas.php"; 
    } 
    if(servSelected === "3"){ 
    url = "http://ib.esy.es/gestao/_php/servicos_manicure.php"; 
    } 
    $.getJSON(url,function(data){ 

    $.each(data,function(index,item) 
    { 
     items+="<option value='"+item.ID+"'>"+item.servico+"</option>"; 
    }); 
    $("#servicos").html(items); 
    }); 
}; 
</script> 
Verwandte Themen