Datepicker图标仅适用于id标记,而不适用于class标记

时间:2013-09-23 13:22:23

标签: jquery-ui class datepicker icons

我正在尝试将Datepicker日历图标显示在输入文本框旁边。但是,使用'id = datepicker'我只能让它出现在出发日期的文本框旁边,但不能出现在返回日期的文本框旁边。这是因为我使用'id'两次,但是当我将它切换到'class = datepicker'时,Icon会从两者中消失。

<html>

...

<head>

...

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<link href="jquery-ui.css" rel="stylesheet" type="text/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>


<script>
  $(function() {
    $( "#datepicker" ).datepicker({
      showOn: "button",
      buttonImage: "calendar.gif",
      buttonImageOnly: true
    });
  });
  </script>

...

</head>


<body>

...

<strong>Departure date</strong><span>*</span>:
<input type="text" id="datepicker" name="departuredate"/>

<strong>Return date</strong><span>*</span>: 
<input type="text" id="datepicker" name="returndate"/>

...

...

2 个答案:

答案 0 :(得分:1)

不要:

  1. 在一个页面中多次包含相同的JavaScript(缩小或不缩小)。
  2. 将相同的ID分配给一页中的多个元素。
  3. 如果您执行以下操作(请注意不同的ID):

    <strong>Departure date</strong><span>*</span>:
    <input type="text" id="dDatepicker" class="datepicker" name="departuredate"/>
    <strong>Return date</strong><span>*</span>: 
    <input type="text" id="rDatepicker" class="datepicker" name="returndate"/>
    

    然后这将起作用:

    $(function() {
      $( ".datepicker" ).datepicker({
        showOn: "button",
        buttonImage: "calendar.gif",
        buttonImageOnly: true
      });
    });
    

    Fiddle here

    修改

    您可能还需要检查CSS,因为可能会覆盖datepicker类。也许尝试只包括没有jquery-ui.css来测试。

    如果只是日历图标无法呈现的情况,则需要指定calendar.gif文件的正确路径。因此,当您转到http://mysite.com/path/to/images/calendar.gif

    时,您可以在浏览器中看到该文件

    然后你需要像这样设置datepicker:

    $(function() {
      $( ".datepicker" ).datepicker({
        showOn: "button",
        buttonImage: "/path/to/images/calendar.gif",
        buttonImageOnly: true
      });
    });
    

答案 1 :(得分:0)

  <script>
  $(function() {
    $( "#datepicker" ).datepicker({
      showOn: "button",
      buttonImage: "calendar.gif",
      buttonImageOnly: true
    });
      $( "#datepicker2" ).datepicker({
      showOn: "button",
      buttonImage: "calendar.gif",
      buttonImageOnly: true
    });    
  });
  </script>