【问题标题】:How to checked radio button in IONIC?如何检查IONIC中的单选按钮?
【发布时间】:2017-02-02 00:49:45
【问题描述】:

如何在 IONIC 中设置选中/默认单选按钮值?

我有如下代码:

<ul>
    <li ng-repeat="quest in Questions">

        {{quest.question}}

        <div ng-repeat="choice in quest.jawaban" ng-init="answer[quest.no]='A'">
            <input 
              type="radio"  
              ng-model="answer[quest.no]" 
              ng-value="'{{choice.pil}}~{{choice.jawaban}}'" 
              name="{{quest.no}}">
            {{choice.jawaban}}
        </div>
        <br>
    </li>
</ul>

ng-init="answer[quest.no]='A'"

我需要将“A”替换为数据库模拟中的“选定”值,如下所示

$scope.Questions = [{"no":"1","qus_id":"AI1a","question":"Pilih buah kesukaan:","selected":"A","jawaban":[{"pil":"A","jawaban":"Pepaya"},{"pil":"B","jawaban":"Mangga"},{"pil":"C","jawaban":"Pisang"},{"pil":"D","jawaban":"Jambu"}]},{"no":"2","qus_id":"AI1b","question":"Warna Favorit:","selected":"B","jawaban":[{"pil":"A","jawaban":"Merah"},{"pil":"B","jawaban":"Kuning"},{"pil":"C","jawaban":"Hijau"},{"pil":"D","jawaban":"Biru"}]}];
  };

设置默认/选中单选按钮。

更多详情请访问http://play.ionic.io/app/6d698853ef09

【问题讨论】:

    标签: angularjs ionic-framework


    【解决方案1】:

    只需使用以下代码更改您的输入行。

     <input type="radio"  ng-model="answer[quest.no]" value="{{choice.pil}}" name="{{quest.no}}">
    

    【讨论】:

    • 是的,你是对的,但我需要更多的 ng-value 值,例如 {{choice.pil}}~{{choice.jawaban}} 和更多',以提供给我的 API 以保存数据.
    【解决方案2】:
    ng-init="answer[quest.no]='A'"
    

    你用错了,value其实和A是不同的A~Merah,所以你应该像这样使用

    ng-init="answer[quest.no]='A~Merah'"
    

    或者最好的方法是

    <input type="radio"  ng-model="answer[quest.no]" ng-value="'{{choice.pil}}'" name="{{quest.no}}">
    

    【讨论】:

    • ng-value 上只有一个变量没有问题,我的情况呢?因为我需要更多关于 ng-value 的价值,例如 {{choice.pil}}~{{choice.jawaban}} 等等,以提供给我的 API 以保存数据。
    • 我的意思是还没有。如果我对 ng-value 赋予更多价值,那么 ng-init 呢? :(
    【解决方案3】:

    在离子 2 中:

    项目src目录:src => app => pages => home => home.ts

    打开 home.ts

    import { Component } from '@angular/core';
    import { NavController } from 'ionic-angular';
    import { AlertController } from 'ionic-angular';
    
    @Component({
      selector: 'page-home',
      templateUrl: 'home.html'
    })
    export class HomePage {
    
        num1:number;
        num2:number;
        sum:string;
    
        // deafult value checked 
        rdValue:string = "mPlus";
    
        constructor(public alertCtrl: AlertController) {
    
        }
    
        doSum():void {
    
            if(typeof this.num1 !== 'number' || typeof this.num2 !== 'number') {
                this.presentAlert();
            } else {
                var localNum1 = parseInt(this.num1);
                var localNum2 = parseInt(this.num2);
            //this.sum = parseInt(this.num1) + parseInt(this.num2);
                var copyValue = this.rdValue;
                switch(copyValue) {
                case 'mPlus':
                    this.sum = localNum1 + localNum2;
                    break;
                case 'mMinus':
                    this.sum = localNum1 - localNum2;
                    break;
                case 'mMulti':
                    this.sum = localNum1 * localNum2;
                    break;
                case 'mDivide':
                    this.sum = localNum2 / localNum1;
                    break;
                }
            }
        }
        presentAlert() {
            let alert = this.alertCtrl.create({
                title: 'Warnning',
                subTitle: 'Only Enter Integer',
                buttons: ['OK']
            });
            alert.present();
        }
    }
    

    home.html

    <ion-header>
        <ion-navbar color="primary">
            <ion-title>MCalculator</ion-title>
        </ion-navbar>
    </ion-header>
    <ion-content padding="0">
    
            <ion-item>
                <ion-label color="primary">Number 1:</ion-label>
                <ion-input type="text" placeholder="Enter First Number" [(ngModel)]="num1"></ion-input>
            </ion-item>
            <ion-item>
                <ion-label color="primary">Number 2:</ion-label>
                <ion-input type="text" placeholder="Enter Second Number" [(ngModel)]="num2"></ion-input>
            </ion-item>
            <ion-list radio-group class="btn-margin m-font-size" [(ngModel)]="rdValue">
                <ion-list-header>
                    <p>Arithmetic Options<p>
                </ion-list-header>
                <ion-item>
                    <ion-label>Addition</ion-label>
                    <ion-radio checked="true" value="mPlus"></ion-radio>
                </ion-item>
    
                <ion-item>
                    <ion-label>Subtraction</ion-label>
                    <ion-radio value="mMinus"></ion-radio>
                </ion-item>
                <ion-item>
                    <ion-label>Multiplication</ion-label>
                    <ion-radio value="mMulti">Multiplication</ion-radio>
                </ion-item>
                <ion-item>
                    <ion-label>Addition</ion-label>
                    <ion-radio value="mDivide"></ion-radio>
                </ion-item>
            </ion-list>
    
            <ion-item>
                <ion-label color="primary">Result:</ion-label>
                <ion-input type="text" placeholder="Result" [(ngModel)]="sum"></ion-input>
            </ion-item>
    
            <button ion-button full large class="btn-margin" (click)="doSum()">Submit Operation</button>
    
    
    </ion-content>
    <!-- <ion-footer>
        <ion-toolbar color="primary">
            <ion-title></ion-title>
        </ion-toolbar>
    </ion-footer> -->
    

    【讨论】:

      猜你喜欢
      • 2020-12-15
      • 2012-03-08
      • 2017-03-19
      • 2021-10-01
      • 1970-01-01
      • 2021-01-25
      • 2019-05-29
      • 2011-10-04
      • 2022-07-20
      相关资源
      最近更新 更多