2016-04-24 7 views
1

select id sectionAjax erhalten select-Tag-ID für Ajax durch vorbei

script section in head So dies die Situation ist. Ich habe diese

<select name="users" onchange="showUser(this.value)" id="1"> 
 
    <option value="">Select a person:</option> 
 
    <option value="'.$lectures[4][0].'">'.$lectures[4][0].'</option> 
 
    <option value="'.$lectures[5][0].'">'.$lectures[5][0].'</option> 
 
    <option value="'.$lectures[6][0].'">'.$lectures[6][0].'</option> 
 
    <option value="'.$lectures[7][0].'">'.$lectures[7][0].'</option> 
 
    </select>

Mag ich viele select-Element auf der Seite haben. Ich möchte zwei Werte durch Ajax weitergeben. Einer ist der gewählte Optionswert. Was ich erfolgreich gemacht habe.

Andere ist die Ich möchte Select-Tag-ID übergeben. In diesem Fall ist es 1.

So Können Sie mir in dem Ajax-Teil helfen

xmlhttp.open("GET","optiondetails.php?q="+str,true); 
    xmlhttp.send(); 

Wie dieser Wert durch Ajax passieren. Bitte beachten Sie, dass ich dies für viele ausgewählte Tags tun muss. So kann ich sie nicht direkt an Wert weitergeben.

Danke für Ihre Hilfe.

Antwort

1

versuchen Sie dies:

$(document).ready(function(){ 
 
\t $('select').change(function(){ 
 
    \t var opt = $(this).find('option:selected'); 
 
    console.log(opt.val()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="1"> 
 
<option value="dog">dog</option> 
 
<option value="cat">cat</option> 
 
</select> 
 

 
<select id="2"> 
 
<option value="chocolate">chocolate</option> 
 
<option value="pizza">pizza</option> 
 
</select>

I verwendet jQuery-Selektor die gewählte Option innerhalb der geänderten select-Element zu erhalten

+0

Danke für Ihre Antwort. –

+0

So kann ich Wert von opt Variable übergeben. Würdest du bitte dieses console.log erklären (opt.val()); –

+0

sicher ... es nur protokolliert es auf der Konsole ... Wenn Sie Chrom verwenden, können Sie den Inspektor öffnen, indem Sie mit der rechten Maustaste klicken und dann prüfen/inspizieren Element, gehen Sie zur Konsole und Sie sehen den Wert genau dort. Sie können auch Alarm anstelle von console.log – Tal87

0

Ich denke, dies bequemer Weg, um das zu tun:

$(document).ready(function(){ 
    $(document).on('change', 'select', function(){ 
    var optVal = $(this).val(); 
    var id = $(this).attr('id'); 

    $.ajax({ 
     method: "GET", 
     url: "optiondetails.php", 
     data: {q:optval, tag_id:id}, 
     cache: false 
    }).done(function(response){ 
     console.log(response); 
    }); 

    }); 

}); 
+0

Vielen Dank für Ihre Freundlichkeit. Ich muss zwei Variable übergeben, wie in der Frage angegeben. Könntest du mir mehr helfen? –

+0

Natürlich. Ändere einfach hier 'data: {q: optval, anotherVariable: anotherValue}' –

+0

In welchen Abschnitt muss ich das setzen? –