如何在输入类型中使用变量

时间:2018-06-27 06:33:50

标签: javascript angularjs

在我的表单中,我具有来自json这样的标签和输入值

"attribut1":{
  "name":"attrib1",
  "type":"text"
},

"attribut2":{
  "name":"attrib2",
  "type":"number"
}

因此,对于标签,我只放置value.name即可为我命名,但是当我放入输入value.type的类型时,它就无法正常工作

<label for="key">{{value.name}}</label>
<input type="value.type" class="form-control form-control-rounded" id="key" placeholder="">

我不知道如何将类型设置为变量,请帮助我

3 个答案:

答案 0 :(得分:1)

使用JQuery,您可以设置输入字段的值,例如:

$("#inputFieldID").val(value.name);
$("#inputFieldID").clone().attr('type',value.type).insertAfter("#inputFieldID").prev().remove();

答案 1 :(得分:1)

使用双花括号符号设置属性。

var myApp = angular.module('DemoApp', []);

myApp.controller('DemoCtrl', function() {
  this.inputs = {
    "attribut1": {
      "name": "attrib1",
      "type": "text"
    },

    "attribut2": {
      "name": "attrib2",
      "type": "number"
    }
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="DemoApp" ng-controller="DemoCtrl as ctrl">

  <ng-container ng-repeat="a in ctrl.inputs">
    <label>{{a.name}}</label>
    <input type="{{a.type}}">
  </ng-container>

</div>

答案 2 :(得分:0)

我认为您只能使用Javascript来完成操作,因此只需使用类似的方法将变量放入内部即可。

<label id="key_label" for="key">{{value.name}}</label>
<script>
document.getElementById("key_label").innerHTML = myObj.name;
</script>