【问题标题】:Disable datepicker without disabling input field [duplicate]禁用日期选择器而不禁用输入字段[重复]
【发布时间】:2012-12-31 11:04:52
【问题描述】:

可能重复:
Remove Datepicker Function dynamically

在我的 Web 应用程序中,我使用的是日期选择器。我正在使用同一页面来创建和编辑详细信息。在编辑页面时,日期不应是可编辑的。我正在使用以下代码禁用日期选择器。

$( "#datepicker" ).datepicker("disable");

但上面的代码也禁用了输入字段。(如果输入字段在编辑模式下被禁用,则数据不会发布到 PHP)。我想在不禁用输入字段的情况下禁用日期选择器,并且我想显示“ui-datepicker-trigger”图标。谁能帮我吗。 以下是 JSFIDDLE 的链接

http://jsfiddle.net/Xppj6/1/

【问题讨论】:

    标签: php jquery jquery-ui jquery-ui-datepicker


    【解决方案1】:

    试试,

    $( "#datepicker" ).datepicker( "destroy" );
    

    针对您的评论: 如果您想保留图标,只需手动执行,即从 DOM 树中复制图标,销毁 datepicker(这将从 DOM 中删除图标),然后将其重新插入 DOM。性能可能不是最好的,但除非你每秒执行数千次,否则没有人会注意到:)

    基本上我的想法是做这样的事情:

       $img = $('#datepicker').parent().find('img'); //fetch datepicker icon from DOM
       $( "#datepicker" ).datepicker("destroy"); //destroy datepicker
       $('#datepicker').parent().append($img); //reappend icon into its original place
    

    在 js 小提琴中:http://jsfiddle.net/Xppj6/7/ 以及带有“禁用”和“启用”按钮的小提琴:http://jsfiddle.net/Xppj6/14/

    注意:如果您需要撤消此操作,则必须完全重新创建日期选择器。您还必须在创建新的日期选择器之前销毁手动附加的图标(因为新的日期选择器将创建新的图标)

    参考: http://api.jqueryui.com/datepicker/#method-destroy

    【讨论】:

    • 使用销毁它会删除“ui-datepicker-trigger”图标,但我想显示“ui-datepicker-trigger”图标
    • 用简单的解决方案编辑我的答案来做你想做的事。
    • 它工作正常。谢谢。
    【解决方案2】:

    我不知道如何在不禁用输入字段的情况下禁用日期选择器,但您可以做的一件事是创建一个隐藏变量,您可以在其中复制输入字段的值,然后再对数据进行定位,然后在服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 2014-07-13
      相关资源
      最近更新 更多