2016-06-29 7 views
0

привет У меня есть вопрос о доступе к переменным, которые находятся в родительской функцииJavascript доступа родительской функция переменной

var DateRangePicker = function (name, clickFunction) { 
    this.context = name; 
    this.UpdateGraph = clickFunction; 
    this.FinalDate = function() { 
     var Dates = $(this.context).find("[name=datepickerText]").val().split('-'); 
     return Dates[1]; 
    }; 
    this.InitialDate = function() { 
     var Dates = $(this.context).find("[name=datepickerText]").val().split('- '); 
     return Dates[0]; 
    }; 
    $(this.context).find("[name=UpdateDatepicker]").click(function() { 
     var pickerText = $(InnerContext).find('[name=datepickerText]'); 
     var dates = pickerText.val().split('-'); 
     UpdateGraph(InitialDate(), FinalDate()); 
     $(context).find("[name=Toogler]").click(); 
    }); 
    return this; 
} 

Как я могу получить доступ к «this.UpdateGraph()» функция внутри updateDatepicker нажмите до сих пор она ВОКИ что UpdateGraph и this.UpdateGraph оленьей кожа существует

+1

определить var 'self = this' в родительской функции и использовать' self.UpdateGraph' в дочерней функции –

ответ

1

Вы можете связать this контекст вашей функции обработчика, чтобы сохранить от необходимости дополнительного переменной Области применения:

$(this.context).find("[name=UpdateDatepicker]").click(function() { 
    var pickerText = $(this.InnerContext).find('[name=datepickerText]'); 
    var dates = pickerText.val().split('-'); 
    this.UpdateGraph(this.InitialDate(), this.FinalDate()); 
    $(this.context).find("[name=Toogler]").click(); 
}.bind(this)); 
+0

Спасибо, что решил мою проблему – user1742179

+0

Я рад, что это помогло. Обязательно отметьте ответ как принятый, когда найдете тот, который лучше всего подходит к вашему вопросу, поэтому люди, которые ищут, знают, какой ответ работал. – TbWill4321