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();

または、このSample for Nav のようなものが必要です

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