2016-11-04 61 views
0

我有一个表中填充了从使用AngularJS捕获的服务中检索到的对象的记录。我在表格中有一个复选框,可以对该行进行编辑。在行内,我有一个选择框,当我点击行中的“编辑”复选框时,我仍然需要将其默认值设置为行中的原始值,同时仍然使用所有其他值来填充选择内容。设置在编辑之前将值选择为值

下面是填充表格和选择框的代码。

 <thead> 
      <tr> 
       <th class="col-lg-2">Sub Program</th> 
       <th class="col-lg-6">Description</th> 
       <th class="col-lg-2">Program</th> 
       <th class="col-lg-1">Edit</th> 
       <th class="col-lg-1">Update/Delete</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr ng-repeat="timeAllocationSubProgram in timeAllocationSubPrograms"> 
       <td ng-hide="checked">{{timeAllocationSubProgram.subProgramName}}</td> 
       <td ng-hide="checked">{{timeAllocationSubProgram.subProgramDescription}}</td> 
       <td ng-hide="checked">{{timeAllocationSubProgram.programName}}</td> 
       <td ng-show="checked"> 
        <input class="form-control" value="{{timeAllocationSubProgram.subProgramName}}" 
          ng-model="timeAllocationSubProgram.subProgramName" /> 
       </td> 
       <td ng-show="checked"> 
        <input class="form-control" value="{{timeAllocationSubProgram.subProgramDescription}}" 
          ng-model="timeAllocationSubProgram.subProgramDescription" /> 
       </td> 
       <td ng-show="checked"> 
        <select class="form-control" ng-options="timeAllocationProgram as timeAllocationProgram.programName 
          for timeAllocationProgram in timeAllocationPrograms track by timeAllocationProgram.programName" ng-model="timeAllocationProgram" 
          ng-change="selectProgram(timeAllocationProgram)"></select> 
       </td> 
       <td> 
        <input type="checkbox" ng-model="checked" aria-label="Toggle ngShow"/> 
       </td> 
       <td> 
        <button class="btn btn-xs btn-primary" ng-click="editTimeAllocationSubProgram(timeAllocationSubProgram)" 
          ng-show="checked"> 
         Update 
        </button> 
        <button class="btn btn-xs btn-primary" ng-click="deleteTimeAllocationSubProgram(timeAllocationSubProgram)" 
          ng-hide="checked"> 
         Delete 
        </button> 
       </td> 
      </tr> 
     </tbody> 
    </table> 

回答

0

随着我卑微的经验,为默认值设置为链接到NG-模型角度投入的最好办法,就是设定的默认值了NG-模型。

NG选项这里remplacing

<options ng-repeat="timeAllocationProgram in timeAllocationPrograms"> 

因此,如果timeAllocation(因为它写的是什么在NG-模型指令)设置为你想要的时候,你从服务加载数据的默认值,它应该显示它的权利。

的主题似乎已经被回答为好,这里的链接,用plunker:

所有的

how to use ng-option to set default value of select element

+0

首先,感谢您回复。非常感谢。我认为它很接近,但不是我所需要的(至少我不认为 - 我对Angular来说是新手)。我打算在单击复选框之前根据单元格中的内容设置默认值。根据我选择编辑哪一行,它可能会有所不同。你提供的例子很好地设置基于静态代码的默认值,但不是动态的(至少我可以解释)。 – spice

+0

你可以让你的问题成为JsFiddle吗? https://jsfiddle.net/ 我有点想念你的JavaScript来帮助你。 – Alburkerk