我有复选框(用户选择的值,选中)。因此,我需要编辑此复选框并将所有选定的值放入数组并发送到发布。
HTML
<div *ngFor="let item of officeLIST">
<div *ngIf ="item.officeID== userdata.officeID">
<input #office type="checkbox" id="office" name="office" class="form-control" value="{{item.officeName}}" checked (click)="officeSelection($event,$event.target.value)" > {{(item.officeName== "" ? "--No data--" : item.officeName)}}
</div>
<div *ngIf ="item.officeID!= userData.officeID">
<input #office type="checkbox" id="office" name="office" class="form-control" value="{{item.officeName}}" (click)="officeSelection($event,$event.target.value)"> {{(item.officeName== "" ? "--No data--" : item.officeName)}}
</div>
</div>
<button type="button" class="btn btn-primary"(click)="updateOffice(userData.officeID)"> Save </button>
点击功能(添加所选值并删除未选择的值)
officeSelection(event: any, value) {
if (event.target.checked === true)
{
this.officeArray.push(value);
}
else {
this.officeArray.splice(this.officeArray.indexOf(value), 1);
}
}
更新功能
updateOfficeDetail(officeid) {
if(officeid= 1)
{
this.officeArray.push('stars dept');
}
else if(officeid= 2)
{
this.officeArray.push('moon dept');
}
else
{
this.officeArray.push('Sun dept');
}
}
问题
如果我更新数据而不更改复选框的当前值,例如:sun dept,这个 sun dept 将推送到 officeArray 。
但如果我想再次通过编辑复选框来更新数据(选择另一个值),那么之前选择的值和当前选中的值将被推入此officeArray
如果用户没有编辑复选框(只进行当前选定的值)&gt;&gt;&gt;&gt; officeArray看起来像这样
[&#34;太阳&#34;]
如果用户尝试通过再单击一个复选框来更新复选框,则数组将如下所示
[&#34;太阳&#34;&#34;月亮&#34;&#34;太阳&#34;]
我只想在officeArray中[&#34; sun&#34;,&#34; moon&#34;]。我应该删除?还是清楚什么?
我尝试做了一些类似于我的研究和很多问题。但不知怎的,所有的解决方案都不适合我。任何想法?
谢谢
答案 0 :(得分:1)
在function y = H(x)
if (x > 0)
y = 1
else
y = 0
endif
endfunction
function y = psi(s)
t = 200
phiabs = 500
K = 1000
n0 = 1000
y = -n0 * e .^ (-(s - phiabs) / t) * H(s - phiabs) - K * H(s) * H(phiabs - s)
endfunction
方法中的if
表达式中
:
updateOfficeDetail
而不是
if(officeid === 1)
我建议你使用if(officeid= 1)
而不是Array:
Set
}
答案 1 :(得分:1)
我建议使用HashMap而不是数组:
Map<String,String> officeMap = new HashMap<>();
officeMap.put(index, value);