首页 > 解决方案 > Blazor fire onchange event when Chosen drop down value changes

问题描述

我有以下 html 可以工作,但是当我用它渲染下拉列表时Chosen它停止工作。因为 selected 不会更新实际的下拉值,所以它会创建自己的元素来保存选定的值。但是我无法访问它,那么如何触发 onchange 事件呢?

<select id="search" single class="chosen-select" @onchange="UpdateValue" bind="@searchValue">
        ...
</select>
...In @Code
void UpdateValue(ChangeEventArgs e)
{
    searchValue = e.Value.ToString();
    ... 
}

现在,如果我用 selected 初始化下拉菜单,那么我无法检测到变化,但可以检测到其他方式。我正在使用 Blazor GL - 带有 .net core 3.0.1 的服务器端

标签: javascriptasp.net-coreblazorblazor-server-side

解决方案


<select @bind="productInfo.CategoryId" 
                                           @bind:event="oninput"
                                @onchange="categoryClick"
                                           class="form-control">
                            @if (categories is null)
                            {
                                <p><em>Loading</em></p>
                            }
                            else
                            {
                                @foreach (var item in categories)
                                {
                                    <option value="@item.Id">@item.CategoryName</option>
                                }
                            }
                        </select>


推荐阅读