JavaScript захватить один вход - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь зафиксировать изменение этого выбора:

 @if (!Model.Id.Equals(null))
            {
            @Html.DropDownListFor(m => m.Modificar.IdClase, new SelectList(Model.ListaClases, "IdClase", "Clase", Model.Modificar.IdClase), new { @class = "input form-control input-lg", @required = "required", @style = "height: 40px; font-size:16px" })
            }
            else
            {
            @Html.DropDownListFor(m => m.ListaClases, new SelectList(Model.ListaClases, "IdClase", "Clase"), new { @class = "input form-control input-lg", @required = "required", @style = "height: 40px; font-size:16px" })
            }

Использование переменной для деактивации

var clases = $('#Id').val() != "" ? $('#Modificar_IdClase') : $('#ListaClases');

Я видел в console.log(clases), что Modificar_IdClase захватывается как ввод, а не как выбор. Почему это происходит и как я могу это исправить?

console.log(clases):

introducir la descripción de la imagen aquí

Редактировать 1

Запись HTML-кода в Chrome DevTools:

Modificar_IdClase:

<select class="input form-control input-lg" id="Modificar_IdClase" name="Modificar.IdClase" required="required" style="height: 40px; font-size:16px">
<option selected="selected" value="1">Articulo principal</option>
<option value="2">Articulo auxiliar</option>
</select>

Lista clases:

<select class="input form-control input-lg" id="ListaClases" name="ListaClases" required="required" style="height: 40px; font-size:16px">
<option value="1">Articulo principal</option>
<option value="2">Articulo auxiliar</option>
</select>

проблема в том, что DropDownListFor получает данные и получает input, а не select

1 Ответ

1 голос
/ 22 апреля 2019

Измените свой код на

var clases = $('#Id').val() != "" ? $('#Modificar_IdClase').val() : $('#ListaClases').val();

Поскольку $('#Modificar_IdClase') возвращает объект DOM, если вы хотите получить класс для тега, вы можете использовать $('#Modificar_IdClase').attr('class')

$(document).ready(function(){
console.log($('#Modificar_IdClase').val());
console.log($('#Modificar_IdClase').attr('class'));
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id='Modificar_IdClase' class='input form-control input-lg'>
  <option value="test">Test</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...