2013-05-07 5 views
0

У меня есть вкладки пользовательского интерфейса jQuery, которые представляют собой 7-недельные дни. Единственная проблема заключается в том, что при первой загрузке страницы Понедельник является активной вкладкой. Я также мог бы изменить активную страницу с помощью active: 3, но я не хочу, чтобы активная вкладка была исправлена. Я предоставляю скрытое поле, которое имеет значение дня.Как правильно настроить вкладку по умолчанию jQuery?

@Html.Hidden("day", day) 

Как я могу настроить активную страницу программно?

<script type="text/javascript"> 
    $(function() { 
     $("#tabs").tabs(); 
    }); 
</script> 

Спасибо за помощь

ответ

2

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

$('#tabs').tabs({ selected: '@Model.ActiveDay' }); 

Это старый способ сделать это (из старого проекта). Based on the this documentation (новые и) правильный способ сделать это заключается в следующем:

$("#tabs").tabs({ active: '@Model.ActiveDay' }) 

помнить, что она равна нулю на основе поэтому убедитесь, что ваш days с нуля тоже, если нет, то присвоить значение соответственно (например, сделать a -1, если ваши дни начинаются с одного)

+0

Мои дни - понедельник, вторник, ..., воскресенье. Нужно ли преобразовывать их в перечисление? – Richard77

+0

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

+0

Большое вам спасибо. Похоже, вы задумались о каждой вещи. – Richard77

1

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

Вы можете сделать это, добавив следующие классы к li, которые вы хотите быть активными с начала ui-tabs-active ui-state-active.

Кроме того, вы должны были бы установить style="display: block" на div, который подключен к вкладке, который вы хотите, чтобы быть активным, и установить div «s aria-expanded атрибут true и атрибут falsearia-hidden.

Это должно быть трюком.

Смежные вопросы