2013-03-13 2 views
-1

У меня есть страница, которая открывает диалоговое окно, приведенный ниже кодзаглавной диалоговые всплывающие окна

function addcustomer() { 
    $.ajax({ 
     url: "customers.php", 
     async:true, 
     success: function(data){ 
      $('#pop').html(data).dialog({ 
       width: 420, 
       height: 630, 
       modal:true, 
       draggable:false, 
       resizable:false, 
       title:'Customer', 
       buttons: { 
        Cancel: function(){ 
         $(this).dialog("close"); 
        }, 
        Submit: function(){ 
         $("#frmcustomer").submit(); 
        } 
       } 
      }); 
     } 
    }); 
} 

Когда я открываю диалоговое окно, я хочу, чтобы все входы и выбирает капитализируются. Я пробовал:

select, input { text-transform: capitalize } 

Но он работает только после щелчка в любом месте диалога. Он не использует какой-либо контроль при первом открытии, я также пробовал:

$(document).ready(function(){ 
    $("select,input,textarea").uniform(); 
    $('select, input').capitalize(); 
}); 

Любая идея, как решить?

+1

Какой браузер вы используете? Я не могу воспроизвести его в Chrome: http://jsfiddle.net/WKMrm/ Являются ли какие-либо другие скрипты мешающими? Возможно, вам нужно будет показать загружаемый контент во всплывающем окне. – JJJ

+0

Попробуйте переключиться в разные браузеры и посмотрите, возникает ли проблема в другом месте. Вы также можете предоставить рабочий образец на http://jsfiddle.net, используя jQueryUI. –

+0

Хорошо, я забыл эту проблему с браузером, она хорошо работает на firefox, но она вызывает ту же проблему на сафари и хром! –

ответ

0

попробовать этот

CSS

.capitalize { 
    text-transform: capitalize; 
} 

Jquery

success: function(data){ 
     $('#pop').html(data).dialog({ 
     ....... 
     open: function(event, ui) { 
      $(data).find('select, input').addClass('capitalize'); 
      //or ui.find('select, input').addClass('capitalize'); 
     } 
     ........ 
+0

Пытаться извлечь выгоду, прежде чем открывать диалог - хорошая идея, но все равно он не работает –

+0

все еще у вас есть 'Но он работает только после щелчка в любом месте диалога. '?? – bipen

+0

Да, я пробовал все ответы на этой странице, и ничего не изменилось, он все еще заглавется после того, как я щелкнул в любом месте диалогового окна –

-1

Самый быстрый/безопасный способ сделать это состоит в использовании CSS, который, в конечном счете, что делает JQuery:

select, input { 
    text-transform: capitalize; 
} 

Проблема заключается в том, что функция JQuery должен стрелять после HTML для выбирает и входов становится видимым для выбора jQuery. Это означает, что для использования jQuery для выполнения ваших закладок и ввода в вашем диалоговом окне вы можете сделать это только после открытия диалога. Если вы используете чистый CSS, это не имеет значения, когда появится текст.

+1

Это именно то, что я делаю, но не работает –

+0

@Digitalfortress, Возможно, вам нужно будет привести пример. Это многие люди, дающие один и тот же ответ, не могут ошибаться. Я просто сам тестировал его в диалоговом окне jQueryUI, и он работал, как ожидалось. Вы можете использовать http://jsfiddle.net с jQueryUI, чтобы предоставить пример. –

+1

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

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