我是网络编程的新手,我正在尝试根据在另一个选择器框中选择的值为选择器框选择值。下面是jquery代码片段和php脚本供您参考。感谢您的帮助。
jquery-ajax代码
$(function(){
$("#tier").change(function(){
var formdata = {'tierval':document.getElementById("tier").value};
alert("Selected Tier : "+document.getElementById("tier").value);
$.ajax({
type: "POST",
url: "/includes/getplayers.php",
data: formdata,
success: function(data)
{
alert("called getplayers.php");
$("#opp").empty();
$("#opp").html(data);
},
error:function()
{
alert('ajax failed');
}
});
});
});
php脚本:
<?php
if (isset($_POST['tierval']))
{
$tier = $_POST['tierval'];
}
$query = "select PlayerID,First_Name from GOFTEL.PLAYER where TierID = $tier";
$result = mysqli_query($pconn, $query);
$row = mysqli_fetch_assoc($result);
while($row)
{
echo '<option value=\"$row[PlayerID]\" > $row[First_Name] </option>';
}
/* free result set */
$result->free();
/* close connection */
$pconn->close();
?>
答案 0 :(得分:0)
由于您已经在使用jQuery,请考虑以下内容:
Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`
然后你需要在php脚本中输出一些东西,这样var formdata = {'tierval':$("#tier").val};
alert("Selected Tier : "+$("#tier").val);
// or
console.log(formdata); // using the browser console
// or
alert( this.value );
// or
console.log($(this).val())
实际上会填充结果,所以
#opp
然后评估您在控制台或警报中获得的内容并从那里开始。
答案 1 :(得分:0)
您需要在php脚本中使用以下代码
while($row=mysqli_fetch_assoc($result)){
echo "<option value=" . $row[PlayerID]. ">" . $row[First_Name] . "</option>";
}