我已經創建了一個表格,其中使用單選按鈕設置了前3行的優先級。目標是在選中/取消選中時啓用/禁用兄弟單選按鈕。我可以通過在每一行上提供相同的名稱來垂直地檢查/取消選中按鈕,但是我無法水平地對其兄弟進行操作。當選中/取消選中時,Angular2啓用/禁用表格中的無線電輸入
我試過對input元素使用([attr.disabled] =「boolean」),但是禁用了表中的所有按鈕。我也試着用javascript做,但它使得代碼很長,但仍然不完美。
如果有人可以幫助!
以下是我的代碼。
HTML
<tr *ngFor="let news of newss">
<td>{{ news.newstitle }}</td>
<td>{{ news.newsdescription }}</td>
<td>{{ news.display }}</td>
<td>{{ news.status }}</td>
<td><span> {{ news.photo }}</span></td>
<td>
<div class="radio">
<label><input type="radio" name="priority1" #priority1
(change)="handleChange($event, news, priority1)"
[attr.disabled]="disprior1" /></label>
</div>
<div class="radio">
<label><input type="radio" name="priority2" #priority2
(change)="handleChange($event, news, priority2)"
[attr.disabled]="disprior2" /></label>
</div>
<div class="radio">
<label><input type="radio" name="priority3" #priority3
(change)="handleChange($event, news, priority3)"
[attr.disabled]="disprior3" /></label>
</div>
</td>
</tr>
TS:
handleChange(evt, news, priority) {
let target = evt.target;
if (target.checked) {
if (priority.name == "priority1") {
this.disprior2 = true;
this.disprior3 = true;
} else if (priority.name == "priority2") {
this.disprior1 = true;
this.disprior3 = true;
} else if (priority.name == "priority3") {
this.disprior1 = true;
this.disprior2 = true;
}
}
}
新聞對象中是否有任何獨特的值,即ID? –
我不確定我是否理解你想做什麼,首先你使用單選按鈕而不是複選框,並且你正在討論取消選中並檢查它們。你也想在單擊一行時禁用所有其他行,或者你想要什麼? :) – Alex