Javascript输出根据日期变化

时间:2013-03-09 14:43:24

标签: javascript jquery variables date jquery-tabs

您好我正在尝试使用javascript来使用一个函数,如果日期是10/03/13然后输出一个数字,如1。

我需要将它应用于jquery选项卡选项。

实施例: 09/03/13在活动选项

中输出数字2
<script>
  $(function() {
    $( "#tabs" ).tabs( "option", "active", 2 );
  });
</script>

10/03/13输出数字3,因此代码将如下所示

    <script>
      $(function() {
        $( "#tabs" ).tabs( "option", "active", 3 );
      });
    </script>

3 个答案:

答案 0 :(得分:0)

如果您想要根据@David所说的日期选择特定选项卡。然后,您需要对dates数组进行排序并返回已排序数组的索引。

var dates = [
    '2013-11-08 18:58:50',
    '2013-11-09 17:49:42',
    // and so on...
];

dates.sort();

或者你需要这样的东西Sample for Nav

答案 1 :(得分:0)

我正在跟进我的评论,我认为这是你问题的答案。

首先,您需要将日期范围转换为某种索引,然后将其用于选项卡选择。

<script>
    $(function(data) {
        var tabsList = [
            '03/09/2013',
            '03/10/2013',
            '03/11/2013',
            '03/12/2013'
        ];

        var tab = 0;
        for (var d=0;d<tabsList.length;d++) {
            if (tabsList[d]==data.Date) {
                tab = d;
                break;
            }
        }

        $( "#tabs" ).tabs( "option", "active", tab );
    });
</script>

基本上,您应该为要识别的每个日期范围设置唯一的选项卡索引。如果这听起来太多了,那么你解决这个问题的方法可能有点过了,你可能想重新考虑解决问题的方式。

编辑:因为你真的需要一个数组,我已经蚕食了一些暴力代码。数据是您传递给函数的任何内容,应该包含您当前的日期或您希望函数认为它的日期。

答案 2 :(得分:0)

<script>
$(function() {
  var cDate = new Date();
  var cYear = cDate.getFullYear().toString().substring(2);
  var cMonth = ((cDate.getMonth()+1)<10)? ("0"+(cDate.getMonth()+1) : (cDate.getMonth()+1);
  var cDay = (cDate.getDate()<10)? ("0"+cDate.getDate()) : cDate.getDate();
  cDateString = cMonth+'/'+cDay+'/'+cYear;
  var tabs = [
    "", // 0
    "", // 1
    "09/03/13", // 2
    "10/03/13" // 3
  ];
  var tab = 0;
  for (var d=0;d<tabs.length;d++) {
    if (tabs[d]==cDateString) {
      tab = d;
      break;
    }
  }
  $( "#tabs" ).tabs( "option", "active", tab );
});
</script>