ng-model被正确默认,但是选择赢了显示文本,显示为空白

时间:2016-11-08 10:53:54

标签: javascript angularjs cordova jquery-mobile ng-options

所以,我试图从服务器读取一个选项列表,并将其提供给标签,第一个选项是默认选项 - 这是非常重要的事情 - 但我得到的只是是模型设置正确,但在选择它显示空白!,我不知道为什么会这样!

我已经尝试了很多SO SO {,hereherehere

视图: -

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

控制器: -

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);

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

Update1:​​似乎问题是angular和jquery-mobile之间的兼容性(我没有添加:@),有人知道这件事吗?

Update2:在删除 jquery.mobile.min.js 时,它可以正常工作。不幸的是,我需要把它扔出去。

Update3:问题是JQM会产生一个跨度来显示所选的值,这就是问题所在!我已经绑定了选择,而不是跨度。 问题是我现在无法绑定跨度,因此,JQM会在运行时生成跨度:(这就是为什么在评论JQM时它运行良好。

已更新4:已解决:D,下面给出的解决方案供将来参考。

2 个答案:

答案 0 :(得分:1)

问题是JQM本身并没有显示所选的值,而是获取所选的值,并在运行时放入一个范围,然后完全隐藏选择,相信我,它花了我&gt; 12个小时难以学习!

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

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

请注意,如果您像我一样使用角度曲线,最好使用&#34; jQuery&#34;不是&#34; $&#34;避免角度和jQuery之间的冲突。

不要轻易接受这一行的消息:D,花费超过一个工作日来获得它:D,希望它会有所帮助:D。

importent ref:here

另请注意:如果您打算多次使用该选项,则可以制作角度指令:D。​​

答案 1 :(得分:0)

也许你没有从服务器获取任何数据,你能检查一下吗?