【问题标题】:Is it posible to have jQuery UI autocomplete on a contenteditable div and datepicker working in harmony?是否可以让 jQuery UI 自动完成在 contenteditable div 和 datepicker 上协调工作?
【发布时间】:2011-06-17 17:14:34
【问题描述】:

在论坛帖子"How to make jquery autocomplete to work for a contenteditable DIV instead of just INPUT, TEXTAREA fields." 中,我们看到了如何在内容可编辑的 div 元素上实现自动完成功能,但是与 datepicker 结合使用时,datepicker 根本不会填充输入字段。

你可以在这个 jsFiddle 演示中看到:http://jsfiddle.net/xvnaA/

有人对如何解决这个问题有任何明智的想法吗?

【问题讨论】:

    标签: jquery contenteditable jquery-ui-autocomplete jquery-ui-datepicker


    【解决方案1】:

    您可以像这样重新定义它,而不仅仅是覆盖$.fn.val

    (function ($) {
       var original = $.fn.val;
       $.fn.val = function() {
          if ($(this).is('[contenteditable]')) {
             return $.fn.text.apply(this, arguments);
          };
          return original.apply(this, arguments);
       };
    })(jQuery);
    

    http://jsfiddle.net/xvnaA/27/

    【讨论】:

    • 这真是太棒了。它似乎工作。我会做更多的测试......
    • 我发现了副作用。单击日期选择器输入字段后,它会被清空,而不是这个演示:jsfiddle.net/gheqD 有什么想法吗?
    • 我更详细地看了一下这个,不幸的是它不起作用,因为这意味着 $(this).val() 将返回一个对象而不是字符串......跨度>
    • 好东西!我编辑了答案以处理任何值为contenteditable 的元素(例如纯文本)并使用.text 而不是.html(更好地模仿.val 的行为,减少XSS 的可能性)。有些人可能想切换回.html,如果他们知道自己在做什么。
    猜你喜欢
    • 2019-09-26
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多