Ich versuche, eine Variable von meinem Javascript-Code auf die Server-Seite PHP-Code übergeben. Ich weiß, dass dies über einen Ajax-Anruf getan werden muss, von dem ich glaube, dass ich es richtig gemacht habe, aber ich habe es nicht verstanden. Hier ist mein Code, ich habe bisher:Jquery- Pass Javascript-Variable zu PHP AJAX
JQuery
$(document).ready(function(){
$(".search-box").keyup(function(){
$.ajax({
type: "POST",
url: "readCountry1.php",
data: { cat: $(this).val() },
beforeSend: function(){
$(".search-box").css("background","#FFF");
},
success: function(data){
$(".suggesstion-box").show();
$(".suggesstion-box").html(data);
$(".search-box").css("background","#FFF");
}
});
});
});
function selectCountry(val) {
$(".search-box").val(val);
$(".suggesstion-box").hide();
}
HTML
<form>
<div class="frmSearch">
<input type="text" class="search-box" placeholder="Select Category" />
<div class="suggesstion-box"></div>
</div>
<?php
if(isset($_POST['cat'])){
?>
<div class="frmSearch1">
<input type="text" class="search-box1" placeholder="Enter Location" />
<div class="suggesstion-box1"></div>
</div>
<?php
}
?>
</form>
In obigem Code ich will zweites Eingabefeld angezeigt wird, wenn ein Wert in ersten ausgewählt Box. Und hier ist mein
readCountry1.php
<ul class="country-list">
<?php
require_once("dbcontroller.php");
if(!empty($_POST["cat"])) {
$query ="SELECT cat FROM catlist WHERE cat like '%$_POST[cat]%' UNION SELECT scat FROM catlist WHERE scat like '%$_POST[cat]%' ORDER BY cat";
$result = mysqli_query($mysqli, $query);
if(!empty($result)) {
while($row=mysqli_fetch_array($result))
{
?>
<li onClick="selectCountry('<?php echo $row["cat"]; ?>');"><?php echo $row["cat"]; ?></li>
<?php
}
}
}
?>
</ul>
Ich versuche, meine JavaScript-Variable "cat" zu PHP ($ cat) passieren, aber ich habe auf der Straße irgendwo falsch gegangen.
Sie den Ajax-Request als POST Einstellung, aber Sie liefern das Datenargument als String. Ich bin mir nicht sicher, was das für ein Verhalten ist, aber soll man nicht stattdessen ein Objekt pas- sen? –
'data: {cat: $ (this) .val()},' – Jeff
@Chris Haben Sie nicht genug Wissen über AJAX ... Können Sie mir Lösung von diesem sagen ... Alles was ich will, ist zweiten Text anzuzeigen Box, wenn Benutzer einen Wert in der ersten Box auswählen ... – Ashish