Необходимо добавить дополнительную опцию в выборку, в режиме редактирования предварительно выбрать ее и удалить требуемый класс - PullRequest
0 голосов
/ 10 июля 2020

У меня есть форма. Он находится либо в редактировании (поля будут заполнены при открытии), либо в добавлении (не заполнены). У меня есть выбор с вариантами, отображаемыми из базы данных. Мне нужно добавить дополнительную опцию для выбора пользователем, которая не включена в базу данных. Если форма находится в режиме редактирования и выбран этот параметр («Не указано»), мне затем нужно заполнить выделение им и удалить требуемый класс в элементе.

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

Есть идеи, что я делаю не так? Спасибо!

<cf_FormGroupTag elementType="select" elementName="sampling_event" elementId="sampling_event" mainLabel="Sampling Event:" mainLabelWidth="col-sm-4 col-md-3" elementDivClass="col-sm-8 col-md-9" inputClass="input-md required required-extend" query="SamplingEvent" optionDisplay="sampling_event" optionValue="sampling_event" selectedOptions="#sampling_event_value#" initialDisabledOption="yes" initialDisabledOptionDisplay="sampling event"/>

$('#sampling_event').append($('<option>', {value:'Not Specified', text:'Not Specified'}));
if (isNew === 'NO' && sampling_event_value === 'Not Specified') {
     $('#sampling_event').val('Not Specified').removeClass('required required-extend');
   }

Select from the page source. 'Not Specified is being show as the input value in my form, but it is not here as an option. 

<div class="form-group" >
    <label for="sampling_event" class="control-label col-sm-4 col-md-3">Sampling Event:</label>
        <div class="col-sm-8 col-md-9">
        <select name="sampling_event"  id="sampling_event" class="input-md required required-extend">
         <option value="" selected disabled>--Select sampling event--</option> 
                <option value="Event 1">Event 1</option>
                <option value="Event 2">Event 2</option>
        </select>
        </div>
            

1 Ответ

1 голос
/ 11 июля 2020

Добавление .change();, кажется, запускает событие для 'select' добавленной опции.

$('#sampling_event').val('Not Specified').change();
...