【发布时间】:2015-12-14 19:47:36
【问题描述】:
我正在实现以下功能。大部分页面在我的 entryPage.php 文件中创建一次。 “Stage”表是通过对stageArea.php 的AJAX 调用创建的。我的问题是我的数据对象是在$(document).ready(function() {...} 中创建的,$(document).ready(function() {...} 之外的其他函数无法访问该对象。
entryPage.php
...HTML...
<script>
$(document).ready(function() {
var dataObject = new DataEntryObj(); // create the data object
$.post("../stageArea.php", {array : dataObject.dataArray}, function(data){
$('#stageArea').html(data);
});
}
var DataEntryObj = function(){
this.dataArray = [[0,0,0,0,0,0,0,3,0]];
....
}
function updateData(value, row, index){
alert("update:" + row + " " + index + " " + value); //values come in OK
alert(dataObject.dataArray[row][index]); // but the data Object isn't here
dataObject.dataArray[row][index] = value; // so this cannot be assigned
$.post("../stageArea.php", {array : dataObject.dataArray}, function(data){
$('#stageArea').html(data);
});
}
</script>
将对象与其他函数保持在同一范围内的好的解决方案是什么?
【问题讨论】:
-
$(document).ready(function() {})缺少关闭)?在.ready()事件之前,updateData在哪里调用?
标签: javascript jquery object scope