select2 не удаляет значение по умолчанию 0 при другом выборе - PullRequest
1 голос
/ 22 марта 2019

Когда я выбираю значение в множественном выборе select2, значение по умолчанию 0 все еще остается в списке. Есть идеи как его убрать?

enter image description here

div class="row mg-t-20">
                        @Html.LabelFor(m => m.ActivityThatIsAssigned, new { @class = "col-sm-4 form-control-label" })
                        <div class="col-sm-8 mg-t-10 mg-sm-t-0">
                            @Html.DropDownListFor(m => m.ActivityThatIsAassignedId, Model.ActivityThatIsAssigned, new { @class = "dropdown js-ActivityThatIsNotAssigned-dropdown", @multiple = "multiple", @style = "width: 100%;" })
                            @Html.HiddenFor(m => m.ActivityThatIsAassignedId)
                        </div>
                    </div>

модель товара

[Display(Name = "Activity that is assigned")]
    public IEnumerable<SelectListItem> ActivityThatIsAssigned { get; set; }

Инициализация выбора2

 $(".dropdown").select2({ width: '100%' });

    $(".js-selectlinkedinprofile, .js-selectbatch, .js-selecttag, .js-selectfanactivity, .js-selectfandeliveryaction, .js-ConnectedToOtherProfiles").prepend('<option value="0"></option>');

    $(".dropdown.js-selectfandeliveryaction, .dropdown.js-selectlinkedinprofile, .dropdown.js-selectbatch, .dropdown.js-selecttag, .dropdown.js-selectfanactivity, .dropdown.js-selectfandeliveryaction, .dropdown.js-ActivityThatIsAssigned-dropdown, .dropdown.js-ActivityThatIsNotAssigned-dropdown, .dropdown.js-ConnectedToOtherProfiles" ).select2();

    $(".js-selectlinkedinprofile, .js-selectbatch, .js-selecttag, .js-selectfandeliveryaction,.js-ConnectedToOtherProfiles").val("0").trigger("change.select2");

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Я думаю, что вы можете просто удалить его самостоятельно на стороне сервера (контроллера).

Loop ActivityThatIsAssignedId list, если равно нулю, просто удалите его из списка.

0 голосов
/ 25 марта 2019

Вы должны удалить скрытый ввод в вашем HTML. Удалить эту строку:

@Html.HiddenFor(m => m.ActivityThatIsAassignedId)

Также:

  • Убедитесь, что значение по умолчанию SelectListItem установлено на "" или null в вашей коллекции Model.ActivityThatIsAssigned.
  • Убедитесь, что ActivityThatIsAassignedId обнуляем. (например, int?)
...