2016-01-06 94 views
1

我目前的情況是:我做嵌套重複類似如下:AngularJS:如何生成動態NG-模型輸入類型(文本)

<form name="task_form" ng-app="myApp" ng-submit="tasksubmit()">  
<ul class="items-list"> 
     <li ng-repeat="task in taskslist | orderBy:orderProp"> 
     <p> 
     <strong>{{task.title}}</strong> 
     </p> 
     <input type="text" ng-model="task_input_values[task.id]" > 
    </li> 
    </ul> 
</form> 

如果tasklist陣列我有100+ tasks則意味着我擁有<input type=text>的100多個相同的ng-model值。這裏我使用ng-model="task_input_values[task.id]"它給我像{"14":"sometext here"}陣列我不知道如何捕獲id14input valuesometext here。此外,如果你有更好的邏輯,請幫助我。我是angularJS的新手。

+1

u能請更具體什麼你想實現。例子會很好 – Yerken

+0

感謝您的回覆。這裏在我的情況下即時獲取這個數組''''14「:」sometext here「}''從'ng-model =」task_input_values [task.id]「'請幫助我如何從生成的數組中獲取鍵和文本通過這個'ng-model' –

+0

你能給我們輸出至少10個元素嗎?你的問題很混亂!我想回答它,但不可能理解你的問題。看下面 - 我的答案。但顯然它不能滿足你。 –

回答

0

您可以directely編輯對象你是迭代:

<form name="task_form" ng-app="myApp" ng-submit="tasksubmit()">  
<ul class="items-list"> 
     <li ng-repeat="task in taskslist | orderBy:orderProp"> 
     <p> 
     <strong>{{task.title}}</strong> 
     </p> 
     <input type="text" ng-model="task.title" > 
    </li> 
    </ul> 
</form> 
0

見現場演示:live demo 你只需要使用您的tasks變量作爲對象的數組:

$scope.taskslist = [ 
    {title: "I am first text input"}, 
    {title: "I am second text input"} 
    ]; 

,然後綁定到ngRepeat中對象的value屬性:

<form name="task_form" ng-app="myApp" ng-submit="tasksubmit()">  
    <ul class="items-list"> 
     <li ng-repeat="task in taskslist | orderBy:orderProp"> 
      <p> 
       <strong>{{task.title}}</strong> 
      </p> 
      <input type="text" ng-model="task.title" > 
     </li> 
    </ul> 
</form> 

由於tasks是一個數組 - 你不需要指定ID爲tasks[$index]給你的稱號值;)例:tasks[1]爲您提供: {text: "I am second text input"}