HTML
<input type="text" class="fulltextbox saving_field" dataid="1" dataname="temperature" dataunit="° F" ng-model="addVt.Temp.value" />
JS
var tData = [];
angular.forEach(angSel('.saving_field'), function(v, k){
console.log(v.dataname);
tData.push({id: v.dataid, name: v.dataname, value: v.value, unit: v.dataunit});
});
但我得v.dataname
为未定义。
答案 0 :(得分:2)
您应该使用以下属性来访问它:
v.dataset
此外,数据属性中应包含连字符。与data-name
相同,而不是dataname
。
所以HTML会是:
<input type="text" class="fulltextbox saving_field" data-id="1" data-name="temperature" data-unit="° F" ng-model="addVt.Temp.value" />
在Javascript中:
tData.push({id: v.dataset.id, name: v.dataset.name, value: v.value, unit: v.dataset.unit});
See the documentation on how to properly use data attributes.