如何使用JQuery或javascript禁用富日历(客户端)
How to disable rich calendar using JQuery or javascript (client side)
我想在客户端禁用和启用rich:calendar
(例如使用javascript函数)。
<rich:calendar id="calendar" ... />
<h:selectBooleanCheckbox id="checkbox" onclick="change('checkbox', 'calendar')" ... />
JS函数:
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)禁用富日历的输入和图标?
编辑:<rich:calendar id="calendar" />
生成html:
<span id="calendarPopup">
<input type="text" class="rich-calendar-input" id="calendar" name="calendar"
style="vertical-align: middle; width: 130px">
<img alt="" class="rich-calendar-button" id="calendarPopupButton"
style="vertical-align: middle" src="/project/a4j/g/3_3_3.Finalorg.richfaces.renderkit.html.iconimages.CalendarIcon/DATB/eAE7fv4Kw6znAA4mA-w_.jsf">
<input type="hidden" autocomplete="off" id="calendarInputCurrentDate" name="calendarInputCurrentDate" style="display: none" value="11/2011">
</span>
我无法找到仅使用jQuery实现的解决方案,因此我选择将复选框值和禁用的日历属性绑定在同一个布尔值上:
<rich:calendar id="calendar" disabled="#{!checkboxValue}" />
<h:selectBooleanCheckbox id="checkbox" value="#{checkboxValue}">
<a4j:support event="onclick" reRender="calendar"></a4j:support>
</h:selectBooleanCheckbox>
有ajax(我不想)有没有人有另一个解决方案没有ajax ?如果没有其他的解决方案,我将选择这个作为公认的答案…
我知道这篇文章很老了,但我还是会继续写下去,因为我也有同样的疑问。
我可以用JQuery
做到这一点。查看生成的HTML
输出,我可以看到它创建了几个组件。这是我的<rich:calendar>
<rich:calendar id="cal" value="#{myManagedBean.date}" >
可以看到id是cal
。但它的内部<input>
的id实际上是calInputDate
,所以这是我通过JQuery
禁用的,像这样:
$('#mainForm'':calInputDate').prop('disabled', true);
并使用相同的逻辑再次启用它。
$('#mainForm'':calInputDate').prop('disabled', false);
它工作:-)
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 返回/从Twit's客户端.get
- 将客户端特定的日期格式返回到服务器MVC4
- MobileFirst:在客户端运行计时器作业-最佳选项
- 标签客户端的设置值
- 我的客户端选项是什么
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- 使用javascript在客户端上使用Web服务
- 通过ajax从客户端调用C#方法来执行C#方法
- 在完整日历上使用客户端事件方法过滤事件
- 如何使用Google客户端API gem在自己的web应用程序上显示可视化交互式日历
- 如何使用JQuery或javascript禁用富日历(客户端)