Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 禁用复选框中的多个选择_Html_Ionic Framework_Checkbox_Ionic3 - Fatal编程技术网

Html 禁用复选框中的多个选择

Html 禁用复选框中的多个选择,html,ionic-framework,checkbox,ionic3,Html,Ionic Framework,Checkbox,Ionic3,这是我的代码: <ion-list class="ion-list"> <ion-item *ngFor="let item of ProductType; let i= index" class="item-checkbox ion-list-item"> <ion-label class="checkbox">{{item.name}}</ion-label>

这是我的代码:

<ion-list class="ion-list">
            <ion-item *ngFor="let item of ProductType; let i= index" class="item-checkbox ion-list-item">
                <ion-label class="checkbox">{{item.name}}</ion-label>
                <ion-checkbox [(ngModel)]="item.isChecked" multiple="false"></ion-checkbox>
            </ion-item>
        </ion-list>

我为您创建了一个函数,希望对您有所帮助:

   <ion-list class="ion-list">
            <ion-item *ngFor="let item of ProductType; let i= index" class="item-checkbox ion-list-item">
                <ion-label class="checkbox">{{item.name}}</ion-label>
                <ion-checkbox [(ngModel)]="item.isChecked" multiple="false" (change)="checkboxToRadio(i)"></ion-checkbox>
            </ion-item>
        </ion-list>



 checkboxToRadio(index) {
    let tempArr = [];
    this.ProductType.map((item, i) => {
      console.log(this.ProductType[i])
      tempArr[i] = item;
      console.log(i +"fdsa"+index);
      if (i == index) {
        // tempArr[i].isChecked = !item.isChecked; 
      } else {
        tempArr[i].isChecked = false;
      }
    });
    this.ref.detectChanges();
    this.ref.markForCheck();
    this.ProductType = tempArr;
  }

{{item.name}
checkboxToRadio(索引){
设tempArr=[];
this.ProductType.map((项,i)=>{
console.log(this.ProductType[i])
tempArr[i]=项目;
控制台日志(i+“fdsa”+索引);
如果(i==索引){
//tempArr[i].isChecked=!item.isChecked;
}否则{
tempArr[i].isChecked=false;
}
});
此.ref.detectChanges();
此.ref.markForCheck()为;
this.ProductType=tempArr;
}
我认为你的ngFor没有更新,请检查这个答案的外观来修复它 这里有一个与你类似的问题

这是你需要的工作演示

使用收音机而不是复选框。我的要求是必须使用复选框,这就是我无法实现的原因。那么您需要一段javascript来处理这个问题。你可以使用它吗?是的,我可以,但是现在我想知道如何实现它。但是我使用的是爱奥尼亚v3,tsfile@wayneOS有什么主意吗?谢谢,检查它直到相同..我选择了多个复选框任何替代解决方案都会相同..其选择了多个复选框我认为您的ngFor没有更新请检查此外观的答案以解决此问题此处的问题与您的问题类似
   <ion-list class="ion-list">
            <ion-item *ngFor="let item of ProductType; let i= index" class="item-checkbox ion-list-item">
                <ion-label class="checkbox">{{item.name}}</ion-label>
                <ion-checkbox [(ngModel)]="item.isChecked" multiple="false" (change)="checkboxToRadio(i)"></ion-checkbox>
            </ion-item>
        </ion-list>



 checkboxToRadio(index) {
    let tempArr = [];
    this.ProductType.map((item, i) => {
      console.log(this.ProductType[i])
      tempArr[i] = item;
      console.log(i +"fdsa"+index);
      if (i == index) {
        // tempArr[i].isChecked = !item.isChecked; 
      } else {
        tempArr[i].isChecked = false;
      }
    });
    this.ref.detectChanges();
    this.ref.markForCheck();
    this.ProductType = tempArr;
  }