php - 使用 jquery 和 php 从选择中触发操作

标签 php jquery html mysql

我遇到了 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;

JS FIDDLE DEMO

当您更改选择值时,请打开开发工具并检查网络选项卡,您将看到已进行 ajax 调用。

还要确保页面上有一个类为 result 的元素。

注意:您的 PHP 脚本需要进行编辑,以便它可以返回一些内容,例如 echo $row['gname'];

关于php - 使用 jquery 和 php 从选择中触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24296658/

相关文章:

php - 如何编写函数 Max($array),它返回 $array 或嵌套在 $array 中的某个数组中包含的最大值

jQuery 定位并在鼠标移动时附加 div

jquery - 如何将数据附加到 jquery tmpl

javascript - 用于识别复选框的正确 xpath

html - 仅使用 CSS 将文本置于绝对定位的父 div 的左上角

php - Paypal:如果没有任何记录,为什么我会收到 'success' 的直接循环付款?

php - 从表中删除变量不起作用

JavaScript window.location 行为

javascript - 使用 JavaScript 更改大量样式

php - 在哪里可以找到 facebook php 类引用?