Я использую @ Html.DropDownListFor. У меня нет проблем с заполнением раскрывающегося списка, но я не могу установить выбранное значение с помощью JQuery. Вот упрощенная версия кода.Невозможно установить значение выпадающего меню с помощью JQuery
@{
var listItems = new List<ListItem>
{
new ListItem { Text = "Select Question", Value = "Select Question" },
new ListItem { Text = "test", Value = "test" }
}
<div class="row">
@Html.LabelFor(m => m.SecurityQuestion, new { @class = "control-label" })
</div>
<div class="row">
@Html.DropDownListFor(m => m.SecurityQuestion, new SelectList(listItems, "Value", "Text"), new { id = "security", @class = "securityALLQuestion" })
</div>
<div class="row">
@Html.LabelFor(m => m.SecurityQuestion1, new { @class = "control-label" })
</div>
<div class="row">
@Html.DropDownListFor(m => m.SecurityQuestion1, new SelectList(listItems, "Value", "Text"), new {id="security1", @class="security" })
</div>
И это моя функция Javascript для ее установки. Я беру все значения из раскрывающегося списка #security, а затем использую его для установки раскрывающегося списка # security1.
$('.security').on('change', function() {
var values = [];
var optionValues = [];
$('#security option').each(function() {
values.push($(this).attr('value'));
});
for (var i = 0; i < values.length; i++) {
optionValues[i] = "<option value=\"" + values[i] + "\">" + values[i] + "</option>";
}
var temp ='test'
$('#' + 'security1').html('').html(optionValues);
$('#' + 'security1').val(temp);
})
Значения значений [] и optionValues [] соответствуют ожиданиям.
При проверке консоли я получаю значение temp, но предупреждение для всего оператора равно null. Я что-то упускаю?
Возможная проблема: Это потому, что я устанавливаю значение, а не текст для вопроса?
У вас есть ошибки в консоли? –
@ Alexandru-IonutMihai Нет ошибок на консоли. – TheFallenOne
Попробуйте следующее: '$ ('# security1'). Val (temp)'. –