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

知道如何解决吗?

4

3 回答 3

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');
         }
         ........
于 2013-03-13T05:51:02.400 回答
0

尝试添加:

$('select, input').css('text-transform', 'capitalize');

编辑:

见小提琴http://jsfiddle.net/4NVnG/

于 2013-03-13T05:52:11.720 回答
-1

最快/最安全的方法是使用 CSS,这最终是 jQuery 所做的:

select, input {
    text-transform: capitalize;
}

问题是 jQuery 函数必须在选择和输入的 HTML 对 jQuery 选择可见后触发。这意味着要使用 jQuery 在对话框中利用您的选择和输入来运行,您只能在对话框打开后执行此操作。如果您使用纯 CSS,则文本何时出现无关紧要。

于 2013-03-13T05:50:58.713 回答