2011-03-26 6 views
1

datepicker (스페인어로 현지화 된) :JQuery UI datepicker와 함께 .Live() jQuery 함수를 사용하는 방법은 무엇입니까?

$(document).ready(function() { 
    $("#datepicker").datepicker(
     { dateFormat: 'dd/mm/yy', 
      dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'], 
      monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 
       'Junio', 'Julio', 'Agosto', 'Septiembre', 
       'Octubre', 'Noviembre', 'Diciembre'], 
      monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 
       'May', 'Jun', 'Jul', 'Ago', 
       'Sep', 'Oct', 'Nov', 'Dic'], 
      onSelect: function (dateText, inst) { 
       var form = $(form); 
       $.ajax({ 
        url: "/Trabajo/", 
        type: "POST", 
        data: { dia: dateText }, 
        success: function (result) { 
         $('#trabajos').replaceWith($('#trabajos', $(result))); 
        } 
       }); 
       return false; 
      } 
     }); 
}); 

완벽하게 작동합니다. #trabajos div를 새 정보로 업데이트하지만 dom은 업데이트되지 않습니다. .live()는 그것을위한 것이지만, jquery noobish로,이 코드를 어떻게 변경하여 라이브 함수를 구현할 수 있습니까?

고맙습니다.

추신 : asp.net mvc 사람이 있다면, 내 양식은 다음과 같습니다 :

@using (Ajax.BeginForm("/Trabajo/", new AjaxOptions { UpdateTargetId = "trabajos" })) 

왜 수동으로 성공 func 그것을 업데이 트해야합니까?

답변

0

는 다음과 같이하십시오 :

$(document).ready(function() { 
    attachDatePicker(); 
}); 

function attachDatePicker() { 
    $('#datepicker').datepicker({ 
     dateFormat: 'dd/mm/yy', 
     dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'], 
     monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], 
     monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'], 
     onSelect: function (dateText, inst) { 
      var form = $(form); 
      $.ajax({ 
       url: '/Trabajo/', 
       type: "POST", 
       data: { dia: dateText }, 
       success: function (result) { 
        $('#trabajos').replaceWith($('#trabajos', $(result))); 
        // reattach the datepicker if you updated 
        // the corresponding DOM element 
        attachDatePicker(); 
       } 
      }); 
      return false; 
     } 
    }); 
} 

비고 : 당신이 AJAX 호출의 url 속성에했던 것처럼 결코 당신의 자바 스크립트 파일에 URL을 하드 코딩하지 않습니다. 항상 URL 도우미. 그래서 대신 :

url: '/Trabajo/' 

사용 :

url: '@Url.Action("Index", "Trabajo")' 
        ^  ^
        action controller 
+0

감사합니다,하지만 작동하지 않는 페이지 업데이트를하지만, DOM은 이제 페이지에, 다른 한편으로는,하지 않는, 내가해야 마우스 오른쪽 버튼을 여러 번 클릭하여 상황에 맞는 메뉴를 표시합니다. –

+0

@ Jesus Rodriguez, '페이지가 업데이트되었지만 DOM이 의미하지 않는 것은 무엇입니까? 자바 스크립트 오류가 발생하고 있습니까? –

+0

@Darin Dimitrov 페이지에 변경 내용이 표시되지만 DOM은 업데이트되지 않습니다. 오류, 바로 this : "element.getAttribute는 ajax unobstrusive.js의 함수가 아닙니다." –