我想在我的JS文件中声明一个全局变量,我想在同一个类中的不同函数中使用该变量。 我在初始化部分
中声明了一个变量 initialize: function () {
this.regionid="";
}
selectItems: function ()
{
this.regionid="10";
this.Regions.url = this.Regions.url() + '?requesttype=1';
this.Regions.fetch({ success: this.renderRegion });
}
renderRegion: function () {
var ddlRegionClass = this.Regions.toJSON();
$(this.el).find('[id=cboRegion] option').remove();
$.each(ddlRegionClass.LOCATIONS_Regions, function (j, cc1) {
var data = 'data='+cc1.AreaCode_2;
var selected = '';
if(cc1.AreaCode_3==this.regionid)
selected="selected";
$('[id=cboRegion]').append('<option value="' + cc1.AreaCode_3 + '" ' + data + selected + ' >' + cc1.Area_Name + '</option>');
})
},
我正在检查
的值 if(cc1.AreaCode_3==this.regionid)
我没有得到价值,它显示'未定义'
答案 0 :(得分:2)
this.regionid="";
initialize: function () {
//some code
}
我认为你必须像这样声明..然后它会起作用..你可以在任何函数中为变量赋值。
答案 1 :(得分:0)
this
回调中的 $.each
将不会引用view
(或js文件所包含的对象)。
在初始化中,您可以将renderRegion
与this
绑定:
initialize: function() {
this.regionid = "";
_.bindAll(this, "renderRegion");
}
和renderRegion
内部:
renderRegion: function() {
// before doing $.each store 'this' reference
var _this = this;
// and inside the callback use if(cc1.AreaCode_3 == _this.regionid)
}
它应该有用。