2009-08-04 2 views
0

У меня есть следующий код JQuery во внешнем JS-файле, связанный с usercontrol в .Net 1.1 webapp.Код JQuery при загрузке не срабатывает

Usercontrol - это расписание.

Когда страница загружается, она вызывает MonthChange и отлично работает на одной странице.

Но теперь я хочу загрузить расписание/пользовательский контроль на другую страницу , которая появляется в новом окне браузера для печати.

Проблема в том, что мой месяц не меняется.

Любые идеи, почему ???

$(function() { 

    MonthChange(); 
    //TestData(); 

    $('[class^=TSGridTB]').blur(function() { 
     var day = GetDay($(this).attr('id')); 
     var date = GetRowDate(day); 
     var bgcolor = GetInputFieldColor(date, false); 

     $(this).css("background-color", bgcolor); 
     $(this).parent().css("background-color", bgcolor); 
     //CalcHours($(this).get(0)); 
    }); 

    $('[class^=TSGridTB]').focus(function() { 
     var day = GetDay($(this).attr('id')); 
     var date = GetRowDate(day); 
     var bgcolor = GetInputFieldColor(date, true); 

     $(this).css("background-color", bgcolor); 
     $(this).parent().css("background-color", bgcolor); 
    }); 

    $('[id$=lstMonth]').change(function() { 
     MonthChange(); 
    });   

}); 
+0

Вы проверили журнал ошибок? –

+0

обязательно используйте '$ (document) .ready()'. http://docs.jquery.com/Events/ready – sepehr

ответ

0

, не видя дальнейшего кода, убедитесь, что селектор верен для управления на новой странице.

Проблема может заключаться в том, что DOM изменился для новой страницы/окна, и JQuery еще не знает об этом.

The change event

пожаров, когда элемент управления теряет фокус ввода и его стоимость была модифицирована с момента получения фокуса.

Вы можете использовать live event:

Связывает обработчик события (как клик) для всех текущих - и будущего - согласованный элемент.

Когда вы связываете «живое» событие будет привязки всех текущих и будущих элементов на странице (используя событие делегации). Например, если вы связали с живым щелчком по всем элементам «li» на странице , а затем добавили еще одну лицу в позже - событие с щелчком будет продолжать работать для нового элемента (в этом случае нет привязки который должен быть привязан к новым элементам).

+0

Возможно, я не упомянул, но ссылки на JQuery и весь код содержатся в usercontrol. Просто добавьте страницу diffpent aspx ??? – Malcolm

0

Вы уверены, что на новой веб-странице есть сценарий jQuery?

0

обеспечения вы используете:

$(document).ready(
); 

вокруг всей блока кода. Только $ часто не делает этого трюка.