带有FontAwesome按钮的jQuery Datepicker?

时间:2014-06-03 15:41:20

标签: javascript jquery-ui datepicker jquery-ui-datepicker font-awesome

我正在使用Foundation构建一个站点,并且我安装了FontAwesome图标。我正在尝试设置一个表单,用户可以单击输入或按钮来查看jQuery日期选择器。我希望能够使用按钮中的FontAwesome图标。但我似乎无法通过按钮来触发日期选择器。

修改

我有点工作,但我仍然无法弄清楚如何实现FontAwesome图标。我的HTML中有这个:

  <div class="row">
    <div class="large-3 columns">
        <label>Departure Date</label>
        <div class="row date collapse">
        <div class="small-9 columns"><input class="small-9 columns" placeholder="Choose Date" type="text" name="date" id="date"></div>
        </div>
    </div>
  </div>

这在我的JS中:

$(function() {
    $( "#date" ).datepicker({
      showOn: "both", 
      buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif",
      buttonText: "THIS IS A BUTTON",
      buttonImageOnly: true
    });
  });

我在哪里放图标?我可以以某种方式将它放在buttonText参数中吗?

4 个答案:

答案 0 :(得分:20)

添加

buttonText: "<i class='fa fa-calendar'></i>"

并添加CSS:

.ui-datepicker-trigger{
    border:none;
    background:none;
 }

参考JSFiddler Here

答案 1 :(得分:3)

在上面的@Ankit的帮助下,我终于有了这个工作。如果其他人试图做同样的事情,这里的代码对我有用。

HTML

  <div class="row">
    <div class="large-3 columns">
        <label>Departure Date</label>
        <div class="row date collapse">
        <div class="small-9 columns"><input class="small-9 columns" placeholder="Choose Date" type="text" name="date" id="departureDate"></div>
        </div>
    </div>
  </div>

  <div class="row">
    <div class="large-3 columns">
        <label>Departure Date</label>
        <div class="row date collapse">
        <div class="small-9 columns"><input class="small-9 columns" placeholder="Choose Date" type="text" name="date" id="returnDate"></div>
        </div>
    </div>
  </div>

的JavaScript

$(function() {
    $( "#departureDate" ).datepicker({
      showOn: "both", 
      buttonText: "<i class='fa fa-calendar'></i>"
    });
  });

$(function() {
    $( "#returnDate" ).datepicker({
      showOn: "both", 
      buttonText: "THIS IS A BUTTON!",
    });
  });

CSS

/* Datepicker Styles */

.ui-datepicker-trigger {
    border:none;
    background:none;
    float: right;
}

input.small-9.columns.hasDatepicker {
    float: left;
    width: 73%;
}

button.ui-datepicker-trigger {
    background: #FFF;
    color: #333;
    padding: 9px 14px;
}

button.ui-datepicker-trigger:hover {
    background: #CCC;
}

button.ui-datepicker-trigger i.fa.icon-calendar {
    color: black;
}

答案 2 :(得分:0)

您的日期选择器初始化需要在文档就绪函数中...

$(function() {
    $( "#date" ).datepicker();
    $( "#calButton" ).datepicker({
      showOn: "both", 
    });
});

答案 3 :(得分:-1)

请尝试使用.calButton代替#calButton,因为您已将按钮上的类设置为非ID。

$(function() {
    $( ".calButton" ).datepicker({
        showOn: "both", 
    });
});