您好,我试图让当您选择某些选项选择的选项从使用Ajax的数据库中被writen一个<select>
菜单,这里是我到目前为止acomplished:在更改选择菜单中添加结果到数据库
这是我的选择菜单:
<select name="status">
<option value="">Select option:</option>
<option value="aproved">aproved</option>
<option value="canceled">canceled</option>
</select>
这里是我的Java脚本,应选择变化,并将其发送到后端PHP文件在数据库连接如和UPDATE查询是,选择的方法是OT在完成选择后,它不会立即更新。目标是一旦用户选择结果进入数据库时需要按下按钮或执行其他任何操作。
<script>
$(document).ready(function(e) {
$('select[name=status]').change(function(){
selectstatus = $("select[name=status]").val();
$.ajax({
type: "POST",
url: "selectbackend.php",
data: {"selectstatus": selectstatus
},
})
.done(function(data, textStatus, jqXHR){alert(textStatus);})
.fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
});//end change
});//end ready
</script>
,但它不工作要么是给任何错误,我怀疑是在Java脚本不以某种方式工作。
这里是后端文件:
<?php
$selectstatus = $_POST['selectstatus'];
$cxn = mysqli_connect($host,$user,$password,$dbname);
if (mysqli_connect_errno()) {echo "No connection" . mysqli_connect_error();}
$query = " UPDATE test
SET var = '$slectstatus'
WHERE id='1";
貌似变量selectstatus只if语句范围内指定,即你不能在外面访问它,因为它是defi在它内部。我会摆脱if语句,因为它没有任何意义,因为该事件使用与if语句相同的选择器进行注册。 – Streamside
如果删除子句仍然无法正常工作,请在上面的代码中编辑 –
您的萤火虫控制台中有任何错误。 – Outlooker