Javascript 如何预选列表中ng选项的多行
我有一个html列表:Javascript 如何预选列表中ng选项的多行,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个html列表: 基本上,我想做的是显示这个框,其中有一个列表,用户可以选择多个,然后我保存它。保存和检索工作。selectedList使用用户上次选择的项目填充,而fullList是整个选项列表。我希望在加载数据时能够突出显示这些选定选项行,就像从上一个状态恢复一样。我似乎无法让它突出显示/选择。。。我在网上搜索,没有找到任何与我所拥有的相似的东西。。。我们将非常感谢您的帮助!谢谢 因为您想从列表中选择多个项目,所以可能需要使用插件 或 或 要预先选择几个选项,只需将“选择”字段绑定到一
基本上,我想做的是显示这个框,其中有一个列表,用户可以选择多个,然后我保存它。保存和检索工作。selectedList使用用户上次选择的项目填充,而fullList是整个选项列表。我希望在加载数据时能够突出显示这些选定选项行,就像从上一个状态恢复一样。我似乎无法让它突出显示/选择。。。我在网上搜索,没有找到任何与我所拥有的相似的东西。。。我们将非常感谢您的帮助!谢谢 因为您想从列表中选择多个项目,所以可能需要使用插件 或 或
要预先选择几个选项,只需将“选择”字段绑定到一个模型,并使用值初始化该模型。如果您正在谈论使用ng模型和ng选项的默认浏览器multiselect,则可能只是犯了一个常见错误 默认multiselect的HTML:
<select multiple ng-model="selectedOptions" ng-options="option.value as option.label for option in optionList"></select>
选择选项:
当您将对象数组用于所选选项时,您的选择将不会在多选框中被选中,如下所示:
$scope.selectedOptions= [
{'value':2, label :'Option 3'},
{'value':5, label :'Option 6'}
];
为什么??
因为option.value as引用的option.value值不是,例如,{'value':2,标签:'option 3'},而是2
您是否应该将option.value替换为option as并使用第二个selectedOptions列表,因为这样它将是,例如,{'value':2,标签:'option 3'}。这是行不通的
由于某些原因,multiselect无法处理ng模型中的对象数组,或者无法处理option.value中的对象,就像初始选择的ng选项中一样。。。为什么,我不确定
结论:
多选需要option.value引用
对所选选项使用简单数组,同时记住引用
希望这有帮助。你能发布你的HTML吗?是否将模型附加到“选择”字段?没有这些插件我还能做什么?我能添加一些简单的东西来实现吗?@shaselai multi-select没有内置到Angular中。欢迎你自己写。要预先选择单个值,只需将其绑定到模型。
$scope.selectedOptions= [2,5];
$scope.selectedOptions= [
{'value':2, label :'Option 3'},
{'value':5, label :'Option 6'}
];