/** * Change group by role. * * @param string $role * @param int $i * @access public * @return void */ function changeGroup(role, i) { if(role && roleGroup[role]) { $('#group' + i).val(roleGroup[role]); } else { $('#group' + i).val(''); } $('#group' + i).trigger('chosen:updated'); } /** * Toggle checkbox and check password strength. * * @param object $obj * @param int $i * @access public * @return void */ function toggleCheck(obj, i) { var $this = $(obj); var password = $this.val(); var $ditto = $('#ditto' + i); var $passwordStrength = $this.closest('.input-group').find('.passwordStrength'); if(password == '') { $ditto.attr('checked', true); $ditto.closest('.input-group-addon').show(); $passwordStrength.hide(); $passwordStrength.html(''); } else { $ditto.removeAttr('checked'); $ditto.closest('.input-group-addon').hide(); $passwordStrength.html(passwordStrengthList[computePasswordStrength(password)]); $passwordStrength.show(); } } $(document).ready(removeDitto());//Remove 'ditto' in first row. $(document).on('click', '.chosen-with-drop', function() { var select = $(this).prev('select'); if($(select).val() == 'ditto') { var index = $(select).closest('td').index(); var row = $(select).closest('tr').index(); var table = $(select).closest('tr').parent(); var value = ''; for(i = row - 1; i >= 0; i--) { value = $(table).find('tr').eq(i).find('td').eq(index).find('select').val(); if(value != 'ditto') break; } $(select).val(value); $(select).trigger("chosen:updated"); } })