【问题标题】:bootstrap datepicker not working in textarea引导日期选择器在 textarea 中不起作用
【发布时间】:2013-10-24 10:01:26
【问题描述】:

我正在尝试使用此http://tarruda.github.io/bootstrap-datetimepicker/ 在我的网络应用程序中实现引导日期和时间选择器。我有一个仅接受 160 个字符的 textArea。我就是这样用的

<div id="datetimepicker" class="input-append date">
     <!-- <input type="password"></input>-->
<textarea name="hi" ></textarea>
      <span class="add-on">
        <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
      </span>
    </div>

即使您选择了某个日期和时间,它也不会反映在文本区域中,尽管如果输入类型是文本,它可以工作。请告诉我要修改什么。 这是js

 <script type="text/javascript">
      $('#datetimepicker').datetimepicker({
        format: 'dd/MM/yyyy hh:mm:ss',
        language: 'eng'
      });
    </script>

【问题讨论】:

    标签: javascript jquery html twitter-bootstrap datepicker


    【解决方案1】:

    我刚做的东西。自动完成和日期选择器

     <html lang="en">
    <head>
     <title></title>
     <style>
     #datepicker {
     display: inline-block;
    width: 35px;
    height: 34px;
    position: relative;
    left: -5px;
    top: -189px;
    
      background:url("date.png") no-repeat scroll right center transparent;
    }
     </style>
      <meta charset="utf-8" />
    
      <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
      <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
      <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
      <link rel="stylesheet" href="/resources/demos/style.css" />
      <script>
       $(function() {
        var availableTags = [
          "ActionScript",
          "AppleScript",
          "Asp",
          "BASIC",
          "C",
          "C++",
          "Clojure",
          "COBOL",
          "ColdFusion",
          "Erlang",
          "Fortran",
          "Groovy",
          "Haskell",
          "Java",
          "JavaScript",
          "Lisp",
          "Perl",
          "PHP",
          "Python",
          "Ruby",
          "Scala",
          "Scheme"
        ];
        function split( val ) {
          return val.split( /,\s*/ );
        }
        function extractLast( term ) {
          return split( term ).pop();
        }
    
        $( "#tags" )
          // don't navigate away from the field on tab when selecting an item
          .bind( "keydown", function( event ) {
            if ( event.keyCode === $.ui.keyCode.TAB &&
                $( this ).data( "ui-autocomplete" ).menu.active ) {
              event.preventDefault();
            }
          })
          .autocomplete({
            minLength: 0,
            source: function( request, response ) {
              // delegate back to autocomplete, but extract the last term
              response( $.ui.autocomplete.filter(
                availableTags, extractLast( request.term ) ) );
            },
            focus: function() {
              // prevent value inserted on focus
              return false;
            },
            select: function( event, ui ) {
              var terms = split( this.value );
              // remove the current input
              terms.pop();
              // add the selected item
              terms.push( ui.item.value );
              // add placeholder to get the comma-and-space at the end
              terms.push( "" );
              this.value = terms.join( ", " );
              return false;
            }
          });
    
      $("#datepicker").datepicker({ altField: '#dtext',onSelect: function() { $("#datepicker").val(""); $("#dtext").change(); }
    
      });
      $('#dtext').change(function(){ 
    
    
         $(".darea").val($( ".darea" ).val()+$( "#dtext" ).val());
      });
    });
    
      </script>
    </head>
    <body>
    <div class="ui-widget">
    
    
       <textarea rows="9" cols="50" class="darea" id="tags"></textarea>
    <input  id="datepicker"></input>
    <input type="text" id="dtext" style="display:none"/>
    </div>
    
    
    
    </body>
    </html>
    

    【讨论】:

    • 在链接中说它支持div,在我的情况下它的div也是
    • 所以你说我需要让textarea输入类型=text
    • 你可以这样做,但正如你所说,用户必须输入大文本。所以只是出于好奇,你不能放大文本框,让它看起来像一个文本区域
    • 是否可以增加高度和宽度
    【解决方案2】:

    我认为它不支持文本区域。您需要这样的文本输入:

    <input data-format="dd/MM/yyyy hh:mm:ss" type="text"></input>
    

    【讨论】:

    • 我有 textarea 因为用户必须输入大约 160 个字符的大文本。如果我输入 type =text 那么它看起来不太好
    • 你不要放大你的输入框,这样对所有人来说都是双赢的。
    • @javaBeginner 你的用户不只是输入日期吗?
    • @BharathRallapalli 我可以增加输入类型=文本的宽度和高度
    • @BharathRallapalli 让我们在聊天中继续讨论
    【解决方案3】:

    datepicker 只是不支持元素,特别是支持 span/div/input

    点击此链接:why jquery datepicker doesn't work on textarea but only on input

    【讨论】:

      猜你喜欢
      • 2013-08-28
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      相关资源
      最近更新 更多