2015-08-06 3 views
0

У меня есть два календаря, реализованных на одной странице, но в двух разных всплывающих окнах. В этих двух календарях применяется два разных CSS (например, 1.css, 2.css). Я использовал jQuery для включения и отключения календаря в одном из всплывающих окон. В настоящее время я использую новый CSS, когда календарь открыт, и удаляется, когда календарь закрыт.CSS не применяется при первом нажатии

Моя проблема: при первом нажатии сначала применяется старый CSS, а после закрытия календаря и его повторного использования применяется новый CSS.

Вот код, который я использовал:

$('#inputField').datepicker({ 
beforeShow: function(input, inst) { 
     $('div#div1').append($('#ui-datepicker-div')); 
     $('link[title=2-css]')[0].disabled=false; 
    }, 
onClose: function() { 
     $('div#div2').append($('#ui-datepicker-div')); 
     $('link[title=2-css]')[0].disabled=true; 
    } 
}); 

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

+0

Можете ли вы добавить jsfiddle со всем своим кодом (включая HTML), чтобы мы могли видеть проблему вживую? – adeora

+0

вы добавляете $ ('# ui-datepicker-div') в два разных местоположения на странице. Это означает, что один и тот же идентификатор будет присутствовать, по крайней мере, в двух местах (возможно, больше?) На странице. Это может привести к возникновению плохих вещей. Обычно jQuery останавливается только на FIRST id. Я бы рекомендовал использовать класс вместо id. Но это может быть или не быть актуальной проблемой, которую вы видите здесь. – nurdyguy

+0

Поскольку в моем приложении много зависимостей, я не думаю, что смогу воспроизвести одну и ту же проблему в jsfiddle. Но я попробую – Peter

ответ

0

Эта проблема решена. Как я уже упоминал в своем вопросе, у меня есть два календари на одной странице с разными css. Поскольку оба календаря имеют один и тот же компонент, существует конфликт пространства имен. Причина, по которой я добавляю datepicker в пустой div, заключается в том, чтобы изолировать один календарь от другого. По-видимому, он работал, но не был на 100% точным. Итак, я изменил пространство имен одного календаря, который используется как класс для css. Это решило мою проблему.

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