Member 2855047 Ответов: 0

Как я могу присвоить выбранному элементу из seletclist к модели элемента


У меня есть следующий код , в модели у меня есть строка "степень" доступна, чтобы взять значение, которое пользователь выберет из выпадающего списка, я хочу присвоить выбранный пользователем элемент модели.степень
хотите сделать что-то вроде этого
@Html.hiddenfor(model=>model.degree, new id = selected item by user to model.degree )
как я могу это написать ,

Что я уже пробовал:

the code in the view where I want to select the value is as follow
<html>
<script type="text/javascript">
function qualificationSelected(selectedIndex){
    document.getElementById('b').style.visibility = (selectedIndex >= 1) ? 'visible' : 'hidden';
    document.getElementById('m').style.visibility = (selectedIndex >= 2) ? 'visible' : 'hidden';
    document.getElementById('p').style.visibility = (selectedIndex == 3) ? 'visible' : 'hidden';
}
</script>
<body>
<form name="myform">
    <table>
        <tr>
        <td> 
            <select name="one" onchange="qualificationSelected(this.selectedIndex)">
                <option value="" selected="selected">Select...</option>
                <option value="1">Bachelore Degree</option>
                <option value="2">Master Degree</option>
                <option value="3">PhD</option>
            </select>
            <input type="file" id ="b" style="visibility:hidden;" />
            <input type="file" id ="m" style="visibility:hidden;" />
            <input type="file" id ="p" style="visibility:hidden;" />
        </td><pre lang="text">

F-ES Sitecore

Вместо использования" HiddenFor " используйте DropDownListFor, чтобы сделать выпадающий список, поскольку эта функция включает параметр, который говорит, в какое свойство модели входит выбранное значение. Просто погуглите "mvc dropdownlistfor", и вы найдете примеры.

Member 2855047

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

F-ES Sitecore

Измените имя select с "one" на "degree", а если вы по какой-то причине не можете этого сделать, измените свойство вашей модели с "degree" на "one".

Member 2855047

он возвращает только id 1 2 3 , любая идея, как назначить имена

F-ES Sitecore

Вам просто нужно будет написать код, который говорит: "Если id равен 1, то текст-это степень бакалавра".

Однако, возвращаясь к моему первоначальному предложению, Если вы используете DropDownListFor для создания поля выбора, вы можете использовать серверную коллекцию элементов для создания этого списка, и эта коллекция будет иметь идентификатор и текст. Когда вы получите идентификатор обратно, вы можете использовать ту же коллекцию для поиска текста из идентификатора.

Member 2855047

СПАСИБО , ОЧЕНЬ ХОРОШИЙ ОТВЕТ

0 Ответов