Как отобразить выбранную опцию после сохранения - PullRequest
0 голосов
/ 05 мая 2020

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

Пример: в базе данных написано «Одобрено», но в раскрывающемся списке отображается значение «Ожидание» (см. Изображение ниже)

enter image description here

Может ли кто-нибудь помочь мне отобразить выбранную пользователем опцию, спасибо!

Front End

<select class="form-control" id="LV_STATUS" name="LV_STATUS">
    <option>Pending</option>
    <option>Approved</option>
    <option>Denied</option>
</select>

Back End

if (ModelState.IsValid)
{
    eMP_LEAVES.LV_STATUS = Request.Form["LV_STATUS"].ToString();
    db.Entry(eMP_LEAVES).State = EntityState.Modified;
    db.SaveChanges();
}

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Вы можете использовать атрибут selected для отображения выбранной пользователем опции следующим образом

<select class="form-control" id="LV_STATUS" name="LV_STATUS">
    <option (LV_STATUS=='Pending' ? 'selected="selected"' : '')>Pending</option>
    <option (LV_STATUS=='Approved' ? 'selected="selected"')>Approved</option>
    <option (LV_STATUS=='Denied' ? 'selected="selected"')>Denied</option>
</select>

Помните: Замените LV_STATUS на переменную, которая содержит значение статуса, хранящееся в DB

0 голосов
/ 05 мая 2020

Проблема в том, что вы должны установить al oop, который будет искать статус вашей базы данных, как я сделал ниже, это функция, которая принимает значение базы данных, и она будет l oop в теге select.

Надеюсь, это имеет смысл, и вы поняли

Спасибо :)

var LV_STATUS = document.getElementById('LV_STATUS')

function indexx(database_Value){
    for(let i=0 ; i<LV_STATUS.options.length ; i++)
    {
        if(database_Value === LV_STATUS.options[i].text)
        {
            LV_STATUS.options[i].selected = true
            return
        }
    }
    }
    
    indexx("Pending") // pass database value here
<select class="form-control" id="LV_STATUS" name="LV_STATUS">
    <option>Pending</option>
    <option>Approved</option>
    <option>Denied</option>
</select>
...