jquery - 下拉框出现在屏幕外

标签 jquery css model-view-controller telerik kendo-asp.net-mvc

我在当前的 MVC 元素中遇到下拉框问题。似乎当页面滚动时,选项框会偏移并出现在屏幕外。我四处阅读,发现有几个人遇到了同样的问题,但我一直找不到解决方案。

这是我用来创建下拉框的代码。

<div class="form-group">
    <div class="col-sm-8">
    <div><label class="control-label">What injuries were sustained?</label></div>
    <div class="text-muted">Select as many as necessary.</div>
        @(Html.Kendo().MultiSelect()
            .Name("injuries")
            .HtmlAttributes(new { @class = "form-control", @id = "injuries"})
            .DataTextField("Name")
            .DataValueField("ID")
            .DataSource(source =>
            {
                source.Read(read =>
                {
                   read.Action("GetInjuries", "Incident");
                });
             })
          )
    </div>
</div>

在这里,我使用的是 Kendo 多选,但我已经查看过,任何使用列表项的下拉元素都会遇到这个问题。

我有一个示例图像,我缩小了图像以便可以看到问题。当一直放大并且用户滚动到框时,它完全没有屏幕。

enter image description here

如有任何帮助,我们将不胜感激。

最佳答案

删除任何不必要的<div>来自 <label>和你的“输入”标签。这些都会影响你的造型。您输出的 html 应该如下所示:

<div>
  <label for="name">Text Input:</label>
  <input type="text" name="name" id="name" value="" tabindex="1">
</div>

如果这不能使事情变得更整洁。让您的输入 parent 有一个 position: relative和下拉元素 a position: absolute然后添加 top:0 .而且,应该更近一些。如果将父 div 的宽度设置为百分比数字。然后为子元素(输入、下拉)设置 100% 的宽度,这样它们就不会在水平方向上出现偏差。

关于jquery - 下拉框出现在屏幕外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40931389/

相关文章:

jquery - 如何为特定的jquery效果设置默认速度

jquery - 仅选择特定元素类型的第 n 个子元素

html - 将 font-awesome 链接到 amp 页面

javascript - Jquery 绑定(bind)转换到 css

jquery - 在小型设备上将菜单更改为按钮

jquery - 如何使用 jQuery 获取实际图像宽度和高度?

css - 如何使用 vuetify2 使所有 v-card 等高

javascript - Angular 指令 ng-model 适用于数组,但不适用于字符串

c# Entity Framework 抛出异常但不回滚数据库

c# - 在 MVC + DDD + 存储库模式项目中应用安全性的内容是什么?