我遇到了 jquery 和 php 的问题,主要是 php :S 我有一个通过 php 填充的选择,这就是代码:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<select name="gname" id="gnome">
<option>Scegli...</option>
<?php
include ('php/config.php');
//recupero organizzazioni dal database
$sql = "SELECT DISTINCT gname, count(*) as number
FROM gtdb
WHERE `country` = 4 OR `country` = 103 OR `country` = 107 OR `country` = 219 OR `country` = 210 OR `country` = 210 OR `country` = 153 OR `country` = 110 OR `country` = 200 OR `country` = 102 OR `country` = 95 OR `country` = 173 OR `country` = 228 OR `country` = 152 OR `country` = 97 OR `country` = 94
GROUP BY gname
HAVING number >= 20
ORDER BY gname";
$result = mysql_query($sql, $mysql);
while($nome = mysql_fetch_array($result)) {
?>
<option value= "<?php echo $nome['gname'];?>" ><?php echo $nome['gname']; ?></option>
<?php
};
?> </select>
当我选择一个选项时,此 jQuery 函数应将选项的值发布到 php 脚本并将结果附加到“结果”div。 jquery 代码:
$(document).ready(function() {
$('#gnome').change(function() {
var inpval=$(this).val();
$.ajax({
url: 'php/query.php',
type: 'POST',
data: {valor : inpval},
success: function(data) {
$('.result').html(data);
}
});
});
});
PHP代码:
<?php
include('config.php'); //database connection(works)
$org_name=$_POST['valor'];
$query=mysql_query("SELECT * FROM gtdb WHERE gname LIKE '$org_name%'");
while($row=mysql_fetch_assoc($query)){
$row['name'];
}
?>
实际上我能够连接到数据库,进行查询并填充选择,但是当我选择一个选项时没有任何反应,我不知道这是 jquery 代码还是 php 代码的错误,任何帮助? 提前致谢:)
编辑:到达浏览器的 html 代码,用于 user3558931
<p>gname</p>
<select name="gname" id="gnome">
<option>Scegli...</option>
<option value= "Al-Aqsa Martyrs Brigade" >Al-Aqsa Martyrs Brigade</option>
<option value= "Al-Nusrah Front" >Al-Nusrah Front</option>
<option value= "Al-Qa`ida in Iraq" >Al-Qa`ida in Iraq</option>
<option value= "Al-Qa`ida in the Arabian Peninsula (AQAP)" >Al-Qa`ida in the Arabian Peninsula (AQAP)</option>
<option value= "Baloch Liberation Army (BLA)" >Baloch Liberation Army (BLA)</option>
<option value= "Baloch Republican Army (BRA)" >Baloch Republican Army (BRA)</option>
<option value= "Free Syrian Army" >Free Syrian Army</option>
<option value= "Gunmen" >Gunmen</option>
<option value= "Hamas (Islamic Resistance Movement)" >Hamas (Islamic Resistance Movement)</option>
<option value= "Haqqani Network" >Haqqani Network</option>
<option value= "Individual" >Individual</option>
<option value= "Islamic State of Iraq (ISI)" >Islamic State of Iraq (ISI)</option>
<option value= "Lashkar-e-Islam (Pakistan)" >Lashkar-e-Islam (Pakistan)</option>
<option value= "Lashkar-e-Jhangvi" >Lashkar-e-Jhangvi</option>
<option value= "Militants" >Militants</option>
<option value= "Other" >Other</option>
<option value= "Palestinian Islamic Jihad (PIJ)" >Palestinian Islamic Jihad (PIJ)</option>
<option value= "Popular Front for the Liberation of Palestine (PFLP)" >Popular Front for the Liberation of Palestine (PFLP)</option>
<option value= "Popular Resistance Committees" >Popular Resistance Committees</option>
<option value= "Sindhu Desh Liberation Army (SDLA)" >Sindhu Desh Liberation Army (SDLA)</option>
<option value= "Southern Mobility Movement (Yemen)" >Southern Mobility Movement (Yemen)</option>
<option value= "Taliban" >Taliban</option>
<option value= "Tehrik-i-Taliban Pakistan (TTP)" >Tehrik-i-Taliban Pakistan (TTP)</option>
<option value= "Unknown" >Unknown</option>
</select>
是的,这是关于恐怖主义的 XD
最佳答案
请更改:
data: ({valor : inpval}),
收件人:
data: {valor : inpval},
获取数据值的语句应该是:
var inpval = this.value;
当您更改选择值时,请打开开发工具并检查网络选项卡,您将看到已进行 ajax 调用。
还要确保页面上有一个类为 result
的元素。
注意:您的 PHP 脚本需要进行编辑,以便它可以返回一些内容,例如 echo $row['gname'];
关于php - 使用 jquery 和 php 从选择中触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24296658/