如果选中单选按钮,则添加元素

时间:2016-07-06 13:05:50

标签: angularjs

我有一个带有radiobuttons和输入字段的表单。如果选中三个顶部单选按钮中的任何一个,我需要在输入字段中添加“required”。 我的代码:

<ng-form name="addShareholderForm">
<form name="form.addForm" class="form-validation" ng-submit=" $ctrl.addShareholder()" ng-init="$ctrl.setFormScope(this)">
 <md-radio-group ng-model="data.group1" ng-required="true">
    <md-radio-button value="passport" class="md-primary">Passport number</md-radio-button>
    <md-radio-button value="ssn">Social security number(SSN) </md-radio-button>
    <md-radio-button value="drivers-license">Drivers license number</md-radio-button>
     <md-radio-button value="person-other">Other</md-radio-button>
 </md-radio-group>
  <input placeholder="Type number" ng-required="data.group1 == 'passport' || data.group1 == 'ssn' || data.group1 == 'drivers-license'">
<md-input-container>
   <md-button type="submit" ng-disabled="!addShareholderForm.$valid" class="md-raised md-primary md-no-ink submitshareholder" aria-label="Lägg till">
        <i class="material-icons done-button-fab">add_circle</i>Lägg till
    </md-button>
</md-input-container>

然而这不起作用,我不知道我做错了什么?输入字段未设置为必需。

编辑:我根据以下建议更改了代码,并将ng-form和按钮添加到代码中。当表单无效时,该按钮应该被禁用,但是一旦我检查单选按钮而没有填写输入,我就不会启用该按钮。

3 个答案:

答案 0 :(得分:1)

您的单选按钮不应全部都有del个。以下是如何使用ng-model

的示例

https://material.angularjs.org/latest/demo/radioButton

md-radio

答案 1 :(得分:1)

你刚犯了两个错误:

1st。:在输入的 type 属性中,它应为type="number",因为type="string"甚至无效。

第二。::您忘了在ng-model标记中添加input

然后,改变这个:

<input type="string" min="1" max="40" placeholder="Type number" ng-required="data.group1 == 'passport' || data.group1 == 'ssn' || data.group1 == 'drivers-license'">

有:

<input ng-model"input" type="number" min="1" max="40" placeholder="Type number" ng-required="data.group1 == 'passport' || data.group1 == 'ssn' || data.group1 == 'drivers-license'">

答案 2 :(得分:0)

我终于解决了这个问题。我忘了添加$ ctrl

<input placeholder="Type number" ng-required="$ctrl.data.group1 == 'passport' || $ctrl.data.group1 == 'ssn' || $ctrl.data.group1 == 'drivers-license'"/>