小编use*_*501的帖子

从 ES6 映射中删除 undefined 而不会出现 Typescript 错误

当一个对象有一个可能未定义的 id 且您想要从这些对象的数组中选择所有现有 id 时,为什么以下代码会产生 Typescript 错误,指出 y.id 可能未定义?

.filter(x => x.id !== undefined).map(y => y.id)
Run Code Online (Sandbox Code Playgroud)

javascript typescript ecmascript-6

5
推荐指数
1
解决办法
2664
查看次数

无法使用Select2以编程方式选择选项

我有一个Select2工作正常附加到选择列表,但当有人输入一个新项目,我重新绑定选择列表并尝试以编程方式选择新项目,它拒绝显示.
还有很多其他帖子,但他们的解决方案对我不起作用.

  1. 使用.select2("val", value).什么也没做.
  2. 使用.select2("data", value).什么也没做.不确定这应该是多么不同.
  3. 使用该InitSelection选项设置值.这会导致以下错误消息:Uncaught Error: Option 'initSelection' is not allowed for Select2 when attached to a select element.

在将新选项添加​​到数据库后的Ajax成功函数中,我有以下Javascript:

BindDishes(RestaurantID); //rebinds the select list successfully
$('#hidDishID').val = data.DishID; //populates a hidden field
var arr = '[{id: "' + data.DishID + '", text: "' + data.DishName + '"}]'; 
$("#dd").select2("data", arr);
Run Code Online (Sandbox Code Playgroud)

所以在这个最新的迭代中,我试图根据另一个建议的解决方案提供一个包含选择列表项中的id和text的数组,但仍然没有发生任何事情.我究竟做错了什么?将Select2与选择列表一起使用时,这是不可能的?

编辑:我在MVC中有以下行创建选择列表:

@Html.DropDownGroupListFor(m => m.DishID, Model.GroupedSelectList, "Select a dish", new { id="dd",style="width:470px;" })
Run Code Online (Sandbox Code Playgroud)

这必须通过绑定到模型中的DishID来引起问题,该模型在来自服务器时最初是空白的.DropDownGroupListFor只是一个HTML助手,它允许在Select中使用OptionGroups,但它必须是一个有问题的绑定.这里最好的方法是什么,以不同的方式绑定或以某种方式更新模型的DishID,不确定最佳实践?

javascript asp.net-mvc jquery jquery-select2

4
推荐指数
1
解决办法
1万
查看次数