]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/user-profile.dev.js
WordPress 3.4
[autoinstalls/wordpress.git] / wp-admin / js / user-profile.dev.js
index 3c60a4593df93660554bb0366fa0e893dee0d823..bd4885525015a85ce259dd1215de50a3527b4270 100644 (file)
                }
        }
 
-       $(document).ready(function() {
+       $(document).ready( function() {
+               var select = $('#display_name');
+
                $('#pass1').val('').keyup( check_pass_strength );
                $('#pass2').val('').keyup( check_pass_strength );
                $('#pass-strength-result').show();
-               $('.color-palette').click(function(){$(this).siblings('input[name="admin_color"]').prop('checked', true)});
-               $('#first_name, #last_name, #nickname').blur(function(){
-                       var select = $('#display_name'), current = select.find('option:selected').attr('id'), dub = [],
-                               inputs = {
-                                       display_nickname : $('#nickname').val(),
-                                       display_username : $('#user_login').val(),
-                                       display_firstname : $('#first_name').val(),
-                                       display_lastname : $('#last_name').val()
-                               };
-
-                       if ( inputs.display_firstname && inputs.display_lastname ) {
-                               inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
-                               inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
-                       }
+               $('.color-palette').click( function() {
+                       $(this).siblings('input[name="admin_color"]').prop('checked', true);
+               });
 
-                       $('option', select).remove();
-                       $.each(inputs, function( id, value ) {
-                               var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
+               if ( select.length ) {
+                       $('#first_name, #last_name, #nickname').bind( 'blur.user_profile', function() {
+                               var dub = [],
+                                       inputs = {
+                                               display_nickname  : $('#nickname').val() || '',
+                                               display_username  : $('#user_login').val() || '',
+                                               display_firstname : $('#first_name').val() || '',
+                                               display_lastname  : $('#last_name').val() || ''
+                                       };
 
-                               if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
-                                       dub.push(val);
-                                       $('<option />', {
-                                               'id': id,
-                                               'text': val,
-                                               'selected': (id == current)
-                                       }).appendTo( select );
+                               if ( inputs.display_firstname && inputs.display_lastname ) {
+                                       inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
+                                       inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
                                }
+
+                               $.each( $('option', select), function( i, el ){
+                                       dub.push( el.value );
+                               });
+
+                               $.each(inputs, function( id, value ) {
+                                       if ( ! value )
+                                               return;
+
+                                       var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
+
+                                       if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
+                                               dub.push(val);
+                                               $('<option />', {
+                                                       'text': val
+                                               }).appendTo( select );
+                                       }
+                               });
                        });
-               });
+               }
        });
 
 })(jQuery);