Как выбрать раскрывающееся значение с помощью jquery

0

У меня есть следующий код jQuery внутри моего бритва:

 $.each(CSData, function (index, itemData) {

                    select.append($('<option/>', {
                        value: itemData.Value,
                        text: itemData.Text
                    }));

                });

которые заполняют выпадающий список. но как я могу проверить, соответствует ли текущий элемент itemData.Value определенному значению модели, и если это так, выберите его значение. что-то вроде: -

if(itemData.Value == @Model.ID).attr('selected', true);

благодаря

Теги:
razor

4 ответа

1
Лучший ответ

Попробуйте установить значение выбора после его создания:

$.each(CSData, function (index, itemData) {
    select.append($('<option/>', {
        value: itemData.Value,
        text: itemData.Text
    }));
});
select.val('@Model.ID');
1

Как насчет:

if(itemData.Value == @Html.Raw(Model.ID)).attr('selected', true);

или поместите туда кавычки, если необходимо:

if(itemData.Value == @Html.Raw("'" + Model.ID + "'")).attr('selected', true);
1

Вы можете сделать это после списка выпадающих списков,

if(itemData.Value == @Model.ID)
{
   $("#dropdownID option[value='" + itemData.value +"']").attr("selected","selected"); // .prop('selected','selected')
}

Таким образом, ваша функция должна выглядеть так:

$.each(CSData, function (index, itemData) {
   select.append($('<option/>', {
        value: itemData.Value,
        text: itemData.Text
    }));
    if(itemData.Value == @Model.ID)
    {
        $("#dropdownID option[value='" + itemData.Value +"']").attr("selected","selected");  // .prop('selected','selected')
    }
});
0
// let assume the following data
var CSData = {
  "itemA": "foo a",
  "itemB": "foo b",
  "itemC": "foo c"
};

// let assume this as the select element
var select = $("#fooData");

// let append the CSData to the select
$.each(CSData, function (index, itemData) {

   // first solve how you append the select element
   select
       .append($("<option></option>")
       .attr("value", index)
       .text(itemData));

   if(itemData.Value == @Model.ID){
        // matched, do whatever here
   }

});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню