这是一个非常简单的问题(很简单到我不确定如何使其工作)这个小问题。 我有一个对象,其中包含我需要在每个语句中使用的数据数组,令我惊讶的是......我不能直接引用它。我已经读过指定
var something = this;
在if之前允许它被调用,这是不好的。
当前代码:
var exsistingshifts = response.data.ExsistingEvents;
var eventdata = this;
$(".shiftdiv").each(function (index) {
var currdiv = $(this).children();
var info = eventdata.exsistingshifts;
})
预期结果信息=我的美味数据数组
当前结果info = undefined
对于想要Context的人来说,shiftdiv类div是由查询动态构建的,并且在其ID中有一个数据值,用于将它们链接到某组事件。该数组包含所有事件及其数据键,因此对于每个移位div,我需要捕获足够容易的ID,将其与数组进行比较,然后从该数组中取出我需要的值来混淆该特定的div。
对于$(this)的页面上下文,这是在onclick函数内部调用的。 onclick函数设置response.data.ExsistingEvents
答案 0 :(得分:0)
如果我没有错,你在ajax Success函数中使用这段代码(我可以看到响应对象。)
现在,如果您这样做,则将this
对象分配给eventdata
会出错。
行var eventdata = this
将在eventdata中存储$ .ajax对象,
和this
对象(表示您的ajax对象)不包含键exsistingshifts
的任何值,因此eventdata.exsistingshifts
未定义。
将您的代码更改为以下应该正常工作
$(".shiftdiv").each(function (index) {
var currdiv = $(this).children();
var info = response.data.ExsistingEvents[index].exsistingshifts;
});