2013-03-09 2 views
0

Привет Я пытаюсь использовать JavaScript, чтобы использовать функцию тот говорит, что если дата 10/03/13 затем выводится одно число, как 1.Javascript выходной переменной в соответствии с датой

мне нужно применить это к Параметры вкладки 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> 
+2

Ваш вопрос не имеет смысла. Вы пытаетесь сказать, что хотите выбрать конкретную вкладку в зависимости от даты? –

+0

Это зависит, как вы храните переменную 'date'? В объекте JS 'Date'? Или в строке? –

+0

его одна вкладка с номером, изменяющимся в соответствии с датой. поэтому tomorw - это 10-й, мне нужно число 2 в функции, чтобы перейти на номер 3:/i надеюсь, что это имеет смысл – mariovass

ответ

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> 

По существу, у вас должен быть уникальный указатель на каждый диапазон дат, который вы хотите распознать. Если это звучит слишком много, то ваш подход к проблеме, вероятно, немного не работает, и вы можете переосмыслить то, как вы решаете проблему.

EDIT: Я использовал cannibalized некоторый код насилия, так как вам действительно нужен массив. Данные - это то, что вы передаете в функцию, и должно содержать текущую дату или любую дату, которую вы хотите, чтобы функция считала это.

+0

это имеет смысл! Можно ли добавить несколько операторов else? им довольно плохо в функциях. Мне нужно ежедневно менять дату с номером каждый день до 17 числа этого месяца. – mariovass

+0

@mariovass Asbsolutely! Вы можете добавить столько команд else, сколько хотите, хотя вы можете посмотреть на что-то еще, например, на фиксированный массив. Но для простого примера, да, вы можете продолжать добавлять дополнительные данные, если заявления –

+0

Привет, Дэвид, спасибо за вашу помощь. Я пробовал это, но это не работает. Любые идеи? http://jsfiddle.net/mariovass/F47AV/ – mariovass

0

Если вы хотите сказать, что хотите выбрать конкретную вкладку, основанную на дате, как сказал @David. Затем вам нужно отсортировать массив дат и вернуть индекс отсортированного массива.

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

dates.sort(); 

Или вам нужно что-то вроде этого Sample for Nav

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> 
Смежные вопросы