根据单选按钮选择使用基于模板的表单填充字段的单选按钮绑定

时间:2017-08-24 16:57:07

标签: angular typescript angular4-forms

我有一个带有三个单选按钮的表单。默认选择第一个。第二个必须有条件地显示一个输入字段点击它。并且在选择第三个选项时填充输入具有一定值的字段。

WRITE_SETTINGS

按顺序点击它们,即(第二个,然后是第三个)工作正常。但是,当选择第一个时,选择第三个不会填充该字段。

documentation

试图找到任何相关的解决方案,但没有帮助。

2 个答案:

答案 0 :(得分:1)

可以是变更检测问题。但不确定。您可以改为使用[hidden]

<div [hidden] = "outputType != 'email' && outputType != 'transfer'" class="output_type_div">
          <div class="row_styles">
          <label class="form_label" for="recipient_email">Recipient E-mail address</label>
          <input type="text" [value]="outputType == 'transfer' ? 'abc@xyz.com' : ''" name="recipient_email" class="input-text"  [(ngModel)]="recipientEmailAddress"
        required/>
  </div>

Updated Plunker

答案 1 :(得分:0)

根据faisal's答案使用更优化的代码更新了我的代码:

div>
      <h2>{{title}}</h2>
      <label class="form_label" for="account">Output Type</label>
      <div class="output_row_styles">
        <span><input type="radio" [value]="pdf" name="output"  (click)="outputType ='pdf'" [checked]="outputType =='pdf'"> PDF</span>
        <span><input type="radio" [value]="email" name="output" (click)="outputType ='email'" [checked]="outputType =='email'"> Email </span>
        <span><input type="radio" [value]="legal" name="output" (click)="outputType ='transfer'" [checked]="outputType =='transfer'"> Transfer</span>
      </div>
      <div [hidden] = "outputType == 'pdf'" class="output_type_div">
          <div class="row_styles">
          <label class="form_label" for="recipient_email">Recipient E-mail address</label>
          <input type="text" [value]="outputType == 'transfer' ? 'abc@xyz.com' : ''" name="recipient_email" class="input-text"  [(ngModel)]="recipientEmailAddress"
            required/>
      </div>
    </div>