0

嗨,我正在尝试使用 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>
4

3 回答 3

0

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

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

dates.sort();

或者你需要类似这样的导航样本

于 2013-03-09T14:48:41.527 回答
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>

本质上,您应该为要识别的每个日期范围拥有一个唯一的标签索引。如果这听起来太多,那么您解决问题的方法可能有点偏离,您可能需要重新考虑解决问题的方式。

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

于 2013-03-09T14:58:14.753 回答
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>
于 2013-03-09T15:01:54.833 回答