在angularjs中获取用户定义的属性值

时间:2016-06-06 09:55:42

标签: html angularjs

HTML

<input type="text" class="fulltextbox saving_field" dataid="1" dataname="temperature" dataunit="&deg; 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为未定义。

1 个答案:

答案 0 :(得分:2)

您应该使用以下属性来访问它:

v.dataset

此外,数据属性中应包含连字符。与data-name相同,而不是dataname

所以HTML会是:

<input type="text" class="fulltextbox saving_field" data-id="1" data-name="temperature" data-unit="&deg; 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.