gpt4 book ai didi

javascript - ng-model 默认正确,但 select 不会显示文本,而是显示空白

转载 作者:行者123 更新时间:2023-12-03 05:42:06 24 4
gpt4 key购买 nike

所以,我试图从服务器读取选项列表,并将其提供给标记,第一个选项作为默认选项 - 这确实很重要 - 但我所拥有的只是模型设置正确,但在选择时显示空白!,我不知道为什么!

我已经尝试了很多这样的灵魂,here , here ,和here .

查看:-

<select ng-options="option as option.Name for option in options track by option.ID" ng-model="selected">

Controller :-

DataService.getOptionsFromServer().then(function (result) {
//console.log(result.data);
$scope.options = result.data;
$scope.selected = $scope.options[0];
console.log($scope.selected);
}, function (err) {
console.error(err);
});

console.log($scope.selected);

表明所选内容设置正确!有什么帮助吗?

更新1:似乎问题是 Angular 和 jquery-mobile 之间的兼容性(不是我添加的:@),有人知道吗?

更新2:删除jquery.mobile.min.js时,它工作正常。不幸的是,我需要它放弃这个项目。

Update3:问题是 JQM 生成一个范围来显示所选的值,这就是问题!,我绑定(bind)了选择,而不是范围。问题是我到目前为止还无法绑定(bind)跨度,因为 JQM 在运行时生成跨度:(,这就是为什么在注释掉 JQM js 时它工作正常。

更新4:已解决:D,下面给出解决方案以供将来引用。

最佳答案

问题是 JQM 本身不显示所选值,而是获取所选值,并在运行时放入一个跨度中,然后完全隐藏选择,相信我,我花了 > 12 个小时才完成艰难地学习它!

因此,为了让 JQM 从选择中重新获取所选值并将其发送到显示范围,您必须调用:

jQuery("#SelectId").selectmenu("refresh", true);

请注意,如果您像我一样使用 Angular,最好使用“jQuery”而不是“$”以避免 Angular 和 jQuery 之间的冲突。

不要轻视这一行解决方案:D,它花费了超过一个工作日的时间来获得它:D,希望它会有所帮助:D。

重要引用:here .

另请注意:如果您打算多次使用 select ,您可以创建一个 Angular Directive(指令) :D 。

关于javascript - ng-model 默认正确,但 select 不会显示文本,而是显示空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40485068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com