1

我使用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();
}
?>
4

1 回答 1

1

你没有问一个问题。

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

尝试$(this).val()

更新:

尝试

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

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

于 2013-10-13T11:40:45.290 回答