如何使用JQuery或javascript(客户端)禁用丰富的日历

一切都在问题中,我想在客户端禁用并启用rich:calendar (例如使用javascript函数)。

xhtml元素:

   

JSfunction:

 function change(checkbox, calendar){ if(jQuery('#'+checkbox).is(':checked')){ // Enable calendar jQuery('#'+calendar).removeAttr('disabled'); } else{ // Disable calendar jQuery('#'+calendar).attr('disabled',true); } } 

jQuery('#'+checkbox)返回一个输入input#checkboxjQuery('#'+calendar)返回一个表table#calendar.rich-calendar-exterior而不是要禁用的组件。

如何使用JQuery(或javascript)禁用丰富日历的输入和图标?

编辑生成html:

      

我找不到仅使用jQuery implmentation的解决方案,所以我选择在同一个布尔值上绑定checkbox值和禁用的calendar属性:

     

有ajax(我不想)没有ajax有没有人有另一个解决方案? 没有其他解决方案,我会选择这个作为公认的答案……

我知道这篇文章很老,但是我会为此做出贡献,因为我有同样的疑问。

我能够用JQuery做到这一点。 查看生成的HTML输出,我可以看到它创建了几个组件。 这是我的

  

你可以看到id是cal 。 但它的内部的id实际上是calInputDate ,所以这是我通过JQuery禁用的那个,如下所示:

 $('#mainForm\\:calInputDate').prop('disabled', true); 

并且只需使用相同的逻辑再次启用它。

 $('#mainForm\\:calInputDate').prop('disabled', false); 

有用 :-)