javascript - 为什么 jQuery Selectable 插件不能与 foreach 生成的列表一起使用?

标签 javascript jquery asp.net-mvc razor jquery-ui-selectable

我目前正在开发一个 MVC 项目并实现了 jQuery Selectable插入。我的模型中有一个字符串 Split()我认为如下:

@{
    var size = Model.AvailableSizes.Split(',');
    foreach (var item in size)
    {
        <ol class="ui-selectable" id="selectable">
            <li class="ui-selectable">@item</li>
        </ol>
    }
} 

这是我认为定义的静态脚本:

<script type="text/javascript">
    $(document).ready(function () {
        $("#selectable").selectable();
    });
</script>

selectable jQuery 插件成功生成<ol> s 代表每个项目,但我只能选择第一个项目,而不能选择其余项目。有什么问题吗?

最佳答案

您应该输入 <ol> 在循环之外。现在您正在创建一个 N ol具有单个 li 的元素在它们里面,都有相同的 id这既是无效的 HTML,也是问题的原因。

试试这个:

<ol class="ui-selectable" id="selectable">
    @{
        var size = Model.AvailableSizes.Split(',');
        foreach (var item in size)
        {
            <li class="ui-selectable">@item</li>
        }
    } 
</ol>

关于javascript - 为什么 jQuery Selectable 插件不能与 foreach 生成的列表一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39043635/

相关文章:

javascript - 使用 ExcelJS 复制一系列单元格或工作表

javascript - 如何将复杂对象作为参数发送给 JavaScript 函数

asp.net-mvc - 什么是好的ASP.NET MVC详细错误页面示例

javascript - 尝试使用 React 和 Reddit API 显示搜索历史记录

javascript - ES6 Map 中的 Array.map 相当于什么?

javascript - 在 javascript 中组合 filter() 和 map() 方法

jquery绑定(bind)改变css

jquery - 如何在 jQuery 中显示加载微调器?

asp.net-mvc - MVC ASP.NET 网站在设置显示之前注销

asp.net-mvc - 有没有办法用资源文件中的值动态填充下拉列表?