2012-08-07 44 views
0

其中我的第一個問題在這裏,我希望是especifc。 我使用UI DatePicker與Magento和PHP,一切都會是正確的,但在IE9上沒什麼效果。這裏是我的代碼,我不能更好地格式化代碼,在這裏不知道爲什麼。UI Datepicker,工作一次,只停留在IE9上

<script type="text/javascript"> 
      jQuery(document).ready(function(jQuery){ 


    jQuery.datepicker.regional['pt-BR'] = { 
     closeText: 'Fechar', 
     prevText: '&#x3c;Anterior', 
     nextText: 'Pr&oacute;ximo&#x3e;', 
     currentText: 'Hoje', 
     monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho', 
     'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], 
     monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 
     'Jul','Ago','Set','Out','Nov','Dez'], 
     dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','S&aacute;bado'], 
     dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'], 
     dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'], 
     weekHeader: 'Sm', 
     dateFormat: 'dd/mm/yy', 
     firstDay: 0, 
     isRTL: false, 
     showMonthAfterYear: false, 
     yearSuffix: ''}; 
    jQuery.datepicker.setDefaults(jQuery.datepicker.regional['pt-BR']); 


       jQuery('#entregaprodutoCalendario').datepicker({ 

        onSelect: function(dataSelecionada){ 
         jQuery.ajax({ 
          cache: false, 
          url: '<?php echo Mage::getUrl()?>Entregaproduto/standard/ajaxVerificaDataEntrega', 
          data: {dataSelecionada: dataSelecionada}, 
          type: 'GET', 
                 async: false, 
          dataType: 'json', 
          success: function(data){ 
           jQuery('#ul_data_entrega').empty(); 
           if(data.length > 0){ 
            jQuery('#ul_data_entrega').append(jQuery('<li></li>').html(' Data : <b>'+data[0].entrega_data+'</b>')); 

            for(var i=0; i<data.length; i++){ 
             var li = jQuery('<li></li>'); 
                       var label = jQuery('<label></label>'); 
             var radio = jQuery('<input />').attr({type: 'radio', name: 'entrega_data_hora'}); 
                       radio.attr('class','radio_hora');    
             if(i == 0) 
              radio.attr('checked','checked'); 

             radio.val(data[i].entrega_data+' entregar ate as '+data[i].entrega_hora_final); 
             label.append(radio,' entregar at&eacute; &aacute;s <b>'+data[i].entrega_hora_final+'</b>'); 
             li.append(label); 
                       jQuery('#ul_data_entrega').append(li); 
            } 
           }else{ 
            jQuery('#ul_data_entrega').html('<li><span class=dataJaSelecionada>Nenhum horario encontrado!</span></li>'); 
           } 
          } 
         }); 

         jQuery('#data_entrega').val(dataSelecionada); 
        } 
       }); 

           jQuery(".radio_hora").live('click', function(){ 
            jQuery(".radio_hora").attr('checked',false); 
            jQuery(this).attr('checked',true); 
           }); 
      }); 
     </script> 
+0

有時候工作n有時不工作。大多數時間不工作 – Guerra 2012-08-07 11:43:12

+0

要格式化代碼使用空格而不是製表符。 (4個空格= 1個標籤) – carbontax 2012-08-07 14:00:23

+0

請看看代碼http://tinyurl.com/9rnan3z – Guerra 2012-08-07 14:09:48

回答

1

我已經解決了這個傢伙,經過1天的戰鬥。它的becouse,在IE準備好收回所有指令之前,文檔已準備好執行。並把它與IE的bug一起失去參考,我們得到了原因。

jQuery(document).ready(function(jQuery){ 


jQuery.datepicker.regional['pt-BR'] = { 
    closeText: 'Fechar', 
    prevText: '&#x3c;Anterior', 
    nextText: 'Pr&oacute;ximo&#x3e;', 
    currentText: 'Hoje', 
    monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho', 
    'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], 
    monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 
    'Jul','Ago','Set','Out','Nov','Dez'], 
    dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','S&aacute;bado'], 
    dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'], 
    dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'], 
    weekHeader: 'Sm', 
    dateFormat: 'dd/mm/yy', 
    firstDay: 0, 
    isRTL: false, 
    showMonthAfterYear: false, 
    yearSuffix: ''}; 
jQuery.datepicker.setDefaults(jQuery.datepicker.regional['pt-BR']); 

setTimeout(function(){ativarCalendario()},3000);  
     }); 
    function ativarCalendario(){ 
     jQuery('#entregaprodutoCalendario').datepicker({ 

      onSelect: function(dataSelecionada){ 
       jQuery(".ui-datepicker a").removeAttr("href"); 
       jQuery.ajax({ 
        cache: false, 
        url: '<?php echo Mage::getUrl()?>Entregaproduto/Standard/ajaxVerificaDataEntrega', 
        data: {dataSelecionada: dataSelecionada}, 
        type: 'GET', 
               async: false, 
        dataType: 'json', 
        success: function(data){ 
         jQuery('#ul_data_entrega').empty(); 
         if(data.length > 0){ 
          jQuery('#ul_data_entrega').append(jQuery('<li></li>').html(' Data : <b>'+data[0].entrega_data+'</b>')); 

          for(var i=0; i<data.length; i++){ 
           var li = jQuery('<li></li>'); 
                     var label = jQuery('<label></label>'); 
           var radio = jQuery('<input />').attr({type: 'radio', name: 'entrega_data_hora'}); 
                     radio.attr('class','radio_hora');    
           if(i == 0) 
            radio.attr('checked','checked'); 

           radio.val(data[i].entrega_data+' entregar ate as '+data[i].entrega_hora_final); 
           label.append(radio,' entregar at&eacute; &aacute;s <b>'+data[i].entrega_hora_final+'</b>'); 
           li.append(label); 
                     jQuery('#ul_data_entrega').append(li); 
          } 
         }else{ 
          jQuery('#ul_data_entrega').html('<li><span class=dataJaSelecionada>Nenhum horario encontrado!</span></li>'); 
         } 
        } 
       }); 

       jQuery('#data_entrega').val(dataSelecionada); 
      } 
     }); 

     jQuery(".radio_hora").live('click', function(){ 
     jQuery(".radio_hora").attr('checked',false); 
     jQuery(this).attr('checked',true); 
     }); 
    }