2010-09-02 2 views
0
<rich:calendar id="orderpickDate" oninputfocus="check(#{myForm.packingListId})" 

При создании календаря вы получаете поле ввода и img, отображающий календарь.График Richfaces - как отключить всплывающее окно календаря после загрузки страницы

В функции Js можно отключить поле ввода:

function check(packId) { 
    var canEditThisDate = true; 

    // canEditThisDate = true/false <-- checked using jQuery.ajax() if date can still be 
    // updated by the user 


    if (! canEditThisDate) { 
    jQuery("input[id='shipmentForm:orderpickDateInputDate']").attr("disabled", true); 
    } 
} 

Поле ввода не может затем быть изменен вручную. Но вы все равно можете нажать на img и выбрать дату, а затем поле ввода будет обновляться с выбранным днем.

Как отключить всплывающее окно richfaces в функции js?

ответ

0

Нашли простое решение.

поле ввода ID = shipmentForm: orderpickDateInputDate

IMG ID = shipmentForm: orderpickDatePopupButton

Я использую следующий JQuery код:

 jQuery("[id*='shipmentForm:orderpickDate']").hover(function() { 
      checkIfOrderPickDateCanBeUpdated(#{shipmentForm.currentPackingList.id}); 
     }); 

И скрыть/показать IMG:

function checkIfOrderPickDateCanBeUpdated(packId) { 
     var ret = false; 

     jQuery.ajax({ 
       url: '/wms/seam/resource/dbutil?cmd=getFreightDocIdByPackId&amp;packId=' + packId, 
       async: false, 
       success: function(data) { 
        if (data == "0") { 
         ret = true; 
        } else { 
         ret = false; 
        } 
      } 
     }); 

     if (ret) { 
      // enable order pick date field 
      jQuery("input[id='shipmentForm:orderpickDateInputDate']").removeAttr("readonly"); 
      jQuery("img[id='shipmentForm:orderpickDatePopupButton']").show(); 
     } else { 
      jQuery("input[id='shipmentForm:orderpickDateInputDate']").attr("readonly", true); 

      jQuery("img[id='shipmentForm:orderpickDatePopupButton']").hide(); 
     } 

     return ret; 
    } 
Смежные вопросы