我使用JavaScript在页面上加载了一个下拉列表(本来不是该页面上的),但没有问题,但是我想在下拉列表的选定值更改后更新数据库表,因此我正在使用脚本:

<select name = "categ" id="dropd1"><option> .... </option></select>

<script>
    $( "#dropd1" )
    .change(function () {
             var value = this.val();
             $.post('listener_updates.php', {categ: value});});
</script>


listener_update.php包含用于更新数据库的脚本:

<?php
if($_POST && $_POST['categ']){
connectMaBase();
$sql ='UPDATE produit SET  categorie =  "'.$_POST['categ'].'" WHERE  num_prod ='.$_SESSION['num_prod'];
$req = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
}
?>

最佳答案

你没有问一个问题。

无论如何,this.val()可能会引发异常。

尝试$(this).val()

更新:

尝试

$(document).on('change', '#dropd1', function(){
         var value = $(this).val();
         $.post('listener_updates.php', {categ: value});});
});


这将为动态添加的DOM元素创建一个事件侦听器。

07-25 20:52