如何解决需要帮助了解和弄清楚AngularJS中的数据传递数据列表
我对AngularJS还是很陌生,我试图从此Datalist选项中选择数据以使用AngularJS传递给我的javascript函数,但我的Datalist输入没有任何信息。我通过属性cust.Name列出了对象Customer的选项,但我想将其cust.ClientID作为参数传递给AngularJS函数调用以构造一个新的System。相反,当一个选项被选择,并且一个系统试图建立的是,在的默认值0包含一个DataList结果和输入的值不是实际cust.ClientID值。
HTML
<div id="systemInfo" ng-controller="HomeController" class="container">
<form name="systemForm" class="new-system-form col-md-6">
<div class="row submit">
<input type="submit" value="Add New System"
ng-disabled="systemName == null
|| cust == null
|| freq == null
|| stage == null
|| allowOverDueHours == null
|| fileCheckFrequencyHours == null
|| overLapDays == null
|| overLapDaysInterval == null
|| overLapDaysIntervalWide == null
|| messageResendIntervalHours == null"
ng-click="createSystem(systemName,cust.ClientID,freq.Value,stage.StageID,allowOverDueHours,fileCheckFrequencyHours,overLapDays,overLapDaysInterval,overLapDaysIntervalWide,messageResendIntervalHours,isDifferential,compressFilesBeforeMove,runTamperValidation,runAddressparsing,runPC,runcleanReadings,runPPSPostProcessCleanup,runEntityEventValidation)"
class="btn btn-success" />
</div>
<div class="fieldRow row">
<label for="customer" class="col-form-label">Customer Name</label>
<input list="customers" ng-model="cust" type="text" name="customer" id="customer" class="form-control">
<datalist id="customers" name="customers">
<option ng-repeat="cust in customers" name="customers" value="{{cust.Name}}"></option>
</datalist>
</div>
</form>
</div>
JavaScript
$scope.createSystem = function (name,clientID,frequency,stageID,runEntityEventValidation) {
$http.post('../Data/CreateSystem',{
name,runEntityEventValidation
})
.then(function (d) {
console.log("system creation successful. new systemid = " + d.data);
$window.location.href = '../Home/System?systemid=' + d.data;
});
};
我正在尝试获取数据列表中的每个选项以保持其样式,该样式链接到标签的Bootstrap脚手架。但是,当按下站点上标有“添加新系统”的按钮时, clientID 的值应为0,此时它应读取有效的非默认值。
我的客户的JSON版本[]对象
[
{
"ClientID": "-1","Name": "Global Data","CustDBServerName": "NA","Custdbname": "NA","Invstgtdbname": "NA"
},{
"ClientID": "42","Name": "customer2","CustDBServerName": "server2","Custdbname": "C2","Invstgtdbname": "C2"
},{
"ClientID": "86","Name": "customer3","CustDBServerName": "server3","Custdbname": "C3","Invstgtdbname": "C3"
},{
"ClientID": "1145","Name": "customer4","CustDBServerName": "server4","Custdbname": "C4","Invstgtdbname": "C4"
},{
"ClientID": "1146","Name": "customer5","CustDBServerName": "server5","Custdbname": "C5","Invstgtdbname": "C5"
},{
"ClientID": "1147","Name": "customer6","CustDBServerName": "server6","Custdbname": "C6","Invstgtdbname": "C6"
},{
"ClientID": "1148","Name": "customer7","CustDBServerName": "server7","Custdbname": "C7","Invstgtdbname": "C7"
},{
"ClientID": "1149","Name": "customer8","CustDBServerName": "server8","Custdbname": "C8","Invstgtdbname": "C8"
},{
"ClientID": "1151","Name": "customer9","CustDBServerName": "server9","Custdbname": "C9","Invstgtdbname": "C9"
}
]
解决方法
选项标签的值是客户的名称。我的意思是value =“ {{cust.Name}}”。然后将该值设置到范围中的cust变量中。我的意思是ng-model =“ cust”。然后,没有cust.clientID是很正常的,因为当您选择一个选项时,cust只会是一个字符串。没有cust.clientID。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。