2015-11-02 124 views
0

我正在使用angularjs生成动态文本框。我在控制器中设置了一个数组,然后用ng-repeat重复。下面是控制器代码: -Angularjs占位符在动态生成文本框时不显示

this.total_options = [ 
     {text : 'form.options.Option1' , placeholder: 'Enter Option Here'}, 
     {text: 'form.options.Option2', placeholder: 'Enter Option Here' } 
    ]; 

现在,鉴于我是在重复这个选项,如: -

<li data-ng-repeat="option in mcssController.total_options">     
    <input required="required" type="text" ng-model="option.text" class="option" placeholder="{{option.placeholder}}" /> 
</li> 

但当页面呈现的文本框中显示NG-模型属性“form.options.optoin1”而不是占位符('在此处输入选项')。我怎么解决这个问题 ?

+0

你可以发布整个HTML文件吗? – levi

+0

HTML查看plz Gitesh – levi

+0

我认为我已经发布的相关内容。相关内容与该主题没有任何关系。 @levi –

回答

0

看看你是否清除表格,你应该能够看到占位符!

enter image description here

0

尝试:

<li data-ng-repeat="option in mcssController.total_options">     
    <input required="required" type="text" ng-init="model=$eval(option.text)" ng-model="model" class="option" placeholder="{{option.placeholder}}" /> 
</li> 

你想ngModel绑定到一个模型,而不是代表一个字符串的属性。既然你想将字符串解释为模型,你可以使用$ scope。$ eval。如果您在ngInit表达式中使用$ scope。$ eval,然后使用result绑定到ngModel,它应该可以工作。

+0

我如何访问模型中的文本框值。我想要模型上的表单对象。模型名称生成像form.options.option,所以在模型中,我可以通过$ scope.form获取所有值。但它不以这种方式工作。 @pixelbits –