JS элемент с условной видимостью/функциональностью

#javascript #html #jquery #json #google-chrome

Вопрос:

В настоящее время я работаю над формой, в которой пользователи могут изменять некоторые настройки. Я включаю настройку для изменения роли пользователя (пользователь, администратор, суперадмин), которая должна быть включена только для пользователей с ролью «суперадмин».

Изображение того, как это выглядит сейчас

После того, как суперадмин меняет роль, я хочу, чтобы значение сохранялось, когда я нажимаю кнопку «Сохранить», расположенную внизу моей формы.

До сих пор я пытался изменить свойства lt;selectgt; элемента на «Включено для суперадминов», где я сделал значение по умолчанию «отключено» и наоборот.

Есть какие-нибудь идеи о том, как я мог бы исправить эту функцию? Спасибо!

 var userRole = "superAdmin"; // user.getDataByKey('role'); //change user role  function editUserRole() {  var changeUserSelect = document.getElementById("sub-user-role");   if (userRole === 'superadmin') {  changeUserSelect.disabled = false;  //$("#sub-user-role").prop('disabled', false);  } else {  //$("#sub-user-role").prop('disabled', true);  changeUserSelect.disabled = true;   } } 
 lt;label for="sub-user-role" class="translate_text" data-translation="USER_ROLE"gt;lt;/labelgt; lt;select id="sub-user-role" name="userRoleInfo" class="userRoleInfo" type="text"gt;  lt;option value="user" class="optionUser" data-translation="USER_ROLE_USER"gt;userlt;/optiongt;  lt;option value="admin" class="optionAdmin" data-translation="USER_ROLE_ADMIN"gt;adminlt;/optiongt; lt;/selectgt; 

Комментарии:

1. Я сделал тебе отрывок. Пожалуйста, обновите, чтобы включить любой соответствующий HTML-код, например, вашу кнопку

2. Во-первых, сравнение строк зависит от регистра, поэтому попробуйте userRole === 'superAdmin'

3. эй, @mplungjan, спасибо за быстрый ответ! я добавил изображение того, как это выглядит в настоящее время. Я хочу, чтобы селектор был выделен серым цветом или отключен, если пользователь не соответствует требованиям суперадмина

4. Все остальное нормально и должно работать, возможно, ошибка за пределами предоставленного фрагмента. Когда/куда вы звонили editUserRole ?

5. Я не уверен, какова ваша цель, потому user что в вашем коде упоминается пользователь приложения, которое управляет другими пользователями, если я не ошибаюсь? Я бы назвал их по-другому, чтобы уточнить вариант использования, например appUser , и databaseUser .