从选择选项中的ng-repeat更改为ng-options后,我遇到了一些问题。问题是ng-model发送整个数组而不是选定的数组。 我有一个名为sms的值很少的数组
var sms = ['1','2','3','4','5'];
这是我在HTML中的方式
<select id="sms-from" ng-options="s.id as s for s in sms" ng-selected="smsSender = s.id " ng-init="s = s.id " ng-model="sendSms.from">
</select>
这将使用sms数组的所有值进行下拉,并且应该将所选值保存到我的js文件中的$scope.sendSms.from
。
它的作用是保存所有数组而不是选定的值。
尝试在ng-selected和ng-init中从s.id切换到sms [0],但它给出了相同的结果。
当我在选项标签内使用ng-repeat时,它运行正常,但第一个值是空白的,所以我开始使用ng-options,这对我来说并不常见。
因此我向你求助。
提前致谢。
答案 0 :(得分:0)
ng-selected="smsSender = s.id "
评估为true
(我估计id为零的那个除外),请尝试ng-selected="smsSender == s.id "
。
答案 1 :(得分:0)
很少有观察结果:
Sub test()
Dim xmlhttp As New MSXML2.XMLHTTP60, myHtml As New HTMLDocument
Dim PostData As String, ele As Object, thing As Object
Dim x As Long
x = 2
PostData = "what=5197365924"
xmlhttp.Open "GET", "http://mobile.canada411.ca/search/" & PostData, False
xmlhttp.setRequestHeader "Content-Type", "text/xml"
xmlhttp.send
myHtml.body.innerHTML = xmlhttp.responseText
Set ele = myHtml.getElementsByClassName("merchant-title__name jsShowCTA")
For Each thing In ele
Cells(x, 1) = thing.innertext
x = x + 1
Next thing
End Sub
应为var sms = ['1','2','3','4','5'];
。$scope.sms = ['1','2','3','4','5'];
语法不正确。它应该是ng-options
,就像在 ng-options="s for s in sms"
数组中一样,没有名为 sms
的键。更正 id
元素语法:
<select>
工作演示:
<select id="sms-from" ng-options="s for s in sms" ng-model="sendSms.from" ng-change="getVal(sendSms.from)">
</select>
&#13;
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl',function($scope) {
$scope.sms = ['1','2','3','4','5'];
$scope.getVal = function(val) {
console.log(val);
};
});
&#13;