Javascript 将属性添加到angular2中*ngfor中动态生成的元素
我有下面的htmlJavascript 将属性添加到angular2中*ngfor中动态生成的元素,javascript,angular,Javascript,Angular,我有下面的html <table class="table table-bordered"> <thead> <tr> <th class="col-md-5 tableSectionHeader">Description</th> <th class="col-md-1 tableSectionHeader">Q
<table class="table table-bordered">
<thead>
<tr>
<th class="col-md-5 tableSectionHeader">Description</th>
<th class="col-md-1 tableSectionHeader">Quantity</th>
<th class="col-md-1 tableSectionHeader">Cost</th>
<th class="col-md-2 tableSectionHeader">Brand</th>
<th class="col-md-2 tableSectionHeader">Other Brand</th>
<th class="col-md-1 tableSectionHeader"></th>
</tr>
</thead>
<tbody *ngIf="prototypeSampleRequest && prototypeSampleRequest.Items">
<tr *ngFor="let item of prototypeSampleRequest.Items; let i=index;"
prototypeSampleRequest-item [item]="item" [itemIndex]="i"
[items]="prototypeSampleRequest.Items"
[brands]="brands"
[isReadOnly]="isReadOnly"
(itemsCostChangedEvent)="itemsCostChangedEvent()">
</tr>
</tbody>
</table>
因此,我使用了一个服务,它获取prototypeSampleRequest.Items
的数据,并将其直接绑定到tr元素
问题是生成的文本框的类型是number,我得到一个弹出窗口,说成本和数量字段的值无效。这些字段在生成时的类型是number
<tr prototypesamplerequest-item="" ng-reflect-item="[object Object]" ng-reflect-item-index="0" ng-reflect-items="[object Object],[object Object],[object Object],[object Object]" ng-reflect-is-read-only="false" ng-reflect-brands="[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]">
<td>
<input class="form-control input-sm ng-untouched ng-pristine ng-valid" type="text" ng-reflect-name="item.Name_" ng-reflect-is-disabled="false" ng-reflect-model="sa">
</td>
<td>
<input class="form-control input-sm numericField ng-untouched ng-pristine ng-valid" type="number" ng-reflect-name="item.Quantity_" ng-reflect-is-disabled="false" ng-reflect-model="5.66">
</td>
<td>
<input class="form-control input-sm numericField ng-untouched ng-pristine ng-valid" type="number" ng-reflect-name="item.Cost_" ng-reflect-is-disabled="false" ng-reflect-model="6.5">
</td>
</tr>
下面是生成的html
<tr prototypesamplerequest-item="" ng-reflect-item="[object Object]" ng-reflect-item-index="0" ng-reflect-items="[object Object],[object Object],[object Object],[object Object]" ng-reflect-is-read-only="false" ng-reflect-brands="[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]">
<td>
<input class="form-control input-sm ng-untouched ng-pristine ng-valid" type="text" ng-reflect-name="item.Name_" ng-reflect-is-disabled="false" ng-reflect-model="sa">
</td>
<td>
<input class="form-control input-sm numericField ng-untouched ng-pristine ng-valid" type="number" ng-reflect-name="item.Quantity_" ng-reflect-is-disabled="false" ng-reflect-model="5.66">
</td>
<td>
<input class="form-control input-sm numericField ng-untouched ng-pristine ng-valid" type="number" ng-reflect-name="item.Cost_" ng-reflect-is-disabled="false" ng-reflect-model="6.5">
</td>
</tr>
我正在研究这个问题,这个问题可以通过在输入字段中添加step=any来解决
<input type="number" step="any" />
所以我的问题是,当*ngfor生成成本和数量字段时,如何将该属性添加到成本和数量字段中
谢谢有什么问题吗?您想将它们添加到哪里?当您将它们添加到
*ngFor
中时,为什么您认为会有不同之处?
与上述代码的其余部分有何关联?这是为数量生成的内容。它的类型为数字,因此在保存表单时,我会看到一个弹出窗口,告诉我是否输入了,比如说5.5,在5或6之间选择…表单会保存,但弹出窗口总是出现,我仍然看不到输入与*ngFor
的关系。您在第一个代码段中有*ngFor
,在最后一个代码段中有
,并且没有提示它们之间的关系。还有,jquery
是如何涉及的?我编辑了这个问题以显示最终生成的html。实际上,您需要动态更改输入类型吗?