您好,我試圖讓當您選擇某些選項選擇的選項從使用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