我有一個網頁上的複選框,當您單擊它時,更新數據庫中的值以及數據庫中的表中的editedBy和editedDate列。我正在通過ajax調用更新到一個PHP頁面。我試圖在成功回調中獲取更新的editedDate和editedBy數據,以便我可以更新保存此信息的響應式span標籤。我試圖用jQuery來實現這一點。這是我到目前爲止有:jQuery ajax回調不會觸發jQuery代碼
var updateUserDate = function(data){
var table = data.table;
var rowId = data.rowId;
var editedDate = data.editedDate;
var editedBy = data.editedBy;
//alert(table+' - '+rowId+' - '+editedDate+' - '+editedBy);
$('"#'+table+' .row'+rowId+' .newEditedDate"').html('"'+editedDate+'"');
}
var submitDataCheckbox = function(target){
var project = target.attr('project');
var tableName = target.attr('table');
var rowId = target.attr('rowId');
var checkboxValue = (target.attr('checked'))?true:false;
$.ajax({
type: 'GET',
url: '/checklistpost.php?projectId='+project+'&table='+tableName+'&rowId='+rowId+'&value='+checkboxValue,
success: function(data){
updateUserDate(data);
},
error: function(){
alert('There was an error submitting data to the database.');
},
dataType: 'json'
});
}
的checklistpost.php
頁面需要是在查詢字符串,並將其發佈到數據庫中的變量。然後,它將變量放入一個數組中,然後用json編碼,這樣我就可以使用json對象。基本上,我正在嘗試取回那個被回調的json對象,並使用它來更新上面提到的跨度。當我在updateUserDate
函數中使用alert()
之前驗證我可以看到這些變量並且它們都具有正確的數據(您可以看到我用來執行此操作的代碼已被註釋掉)。然而,每當我嘗試和使用jQuery的變量,因爲你在代碼的第6行看到。它什麼都不做。順便說一句,基於上面寫的應該輸出的jQuery代碼應該是這樣的$("#tableName .row1 .newEditedDate").html("April 14, 2011 @ 5:15pm")
我缺少什麼?預先感謝任何幫助!
你使用jQuery驗證插件anyhwere?像老版本的jQuery validate之類的一些插件可以修改全局的'ajaxSetup()'並導致這種事情失敗。 – 2011-04-14 22:16:05