如何使用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#checkbox
但jQuery('#'+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);
有用 :-)