2017-06-17 47 views
0

我是angularjs和学习代码的新手。我有三个单选按钮部分,并试图禁用其他单选按钮选择一个。下面是我的代码在AngularJS中启用/禁用单选按钮

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div class='info-container-content'> 
 
    <div> 
 
    <label class="info-container-accent" aria-label="Search By Zipcode and Radius">Search By Zipcode and Radius </label> 
 
    <input type="radio" name="selectSearch" ng-model="type" /> 
 
    <input id="search-text-location" type='text' name='zip-location' ng-disabled="" aria-label="Enter Zip Code" placeholder='Enter Zip Code' ng-model="$ctrl.cservice.locsearch.ZipCode" ng-model-options="modelOptions" /> 
 
    <select name='zip-radius' aria-label="Radius from Zip Code" ng-disabled="" ng-model="$ctrl.cservice.locsearch.SearchRadius" ng-options="item as item.text for item in $ctrl.cservice.locsearch.SearchRadii track by item.value" ng-model-options="modelOptions"></select> 
 
    </div> 
 
    <br /> 
 
    <div> 
 
    <label class="info-container-accent" aria-label="Search by County">Search by County</label> 
 
    <input type="radio" name="selectSearch" ng-model="type" /> 
 
    <select name='loc-county' aria-label="County" ng-disabled="" ng-model="$ctrl.cservice.locsearch.County" ng-options="item as item.RegionName for item in $ctrl.cservice.locsearch.Counties track by item.RegionCode" ng-model-options="modelOptions"> 
 
           <option value="">Select a County</option> 
 
          </select> 
 
    </div> 
 
    <br /> 
 
    <div> 
 
    <label class="info-container-accent" class="info-container-accent" aria-label="Search by Properity Region">Search by Properity Region</label> 
 
    <input type="radio" name="selectSearch" ng-model="type" /> 
 

 
    <select name='loc-region' aria-label="Region" ng-disabled="" ng-model="$ctrl.cservice.locsearch.Region" ng-options="item as item.RegionName for item in $ctrl.cservice.locsearch.Regions track by item.RegionCode" ng-model-options="modelOptions"> 
 
           <option value="">Select a Region</option> 
 
          </select> 
 
    </div> 
 
</div>

好心帮。

+0

这样一个问题必须要问:如果当您选择一个禁用其他单选按钮他们,是不是意味着用户只能选择一个单选按钮?似乎是一种奇怪的用户体验。 –

回答

2

您应该使用ng-value设置每个单选按钮的值作为样本

var app = angular.module("app", []);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app"> 
 

 
    <div class='info-container-content'> 
 
    <div> 
 
     <label class="info-container-accent" aria-label="Search By Zipcode and Radius">Search By Zipcode and Radius </label> 
 
     
 
     <input type="radio" name="selectSearch" ng-model="type" ng-value="0" /> 
 
     
 
     <input id="search-text-location" type='text' name='zip-location' ng-disabled="type != 0" aria-label="Enter Zip Code" placeholder='Enter Zip Code' ng-model="$ctrl.cservice.locsearch.ZipCode" ng-model-options="modelOptions" /> 
 
     <select name='zip-radius' aria-label="Radius from Zip Code" ng-disabled="type != 0" ng-model="$ctrl.cservice.locsearch.SearchRadius" ng-options="item as item.text for item in $ctrl.cservice.locsearch.SearchRadii track by item.value" ng-model-options="modelOptions"></select> 
 
    </div> 
 
    <br /> 
 
    <div> 
 
     <label class="info-container-accent" aria-label="Search by County">Search by County</label> 
 
     <input type="radio" name="selectSearch" ng-model="type" ng-value="1"/> 
 
     <select name='loc-county' aria-label="County" ng-disabled="type != 1" ng-model="$ctrl.cservice.locsearch.County" ng-options="item as item.RegionName for item in $ctrl.cservice.locsearch.Counties track by item.RegionCode" ng-model-options="modelOptions"> 
 
           <option value="">Select a County</option> 
 
          </select> 
 
    </div> 
 
    <br /> 
 
    <div> 
 
     <label class="info-container-accent" class="info-container-accent" aria-label="Search by Properity Region">Search by Properity Region</label> 
 
     <input type="radio" name="selectSearch" ng-model="type" ng-value="2"/> 
 

 
     <select name='loc-region' aria-label="Region" ng-disabled="type != 2" ng-model="$ctrl.cservice.locsearch.Region" ng-options="item as item.RegionName for item in $ctrl.cservice.locsearch.Regions track by item.RegionCode" ng-model-options="modelOptions"> 
 
           <option value="">Select a Region</option> 
 
          </select> 
 
    </div> 
 
    </div> 
 
type is : {{type}} 
 
</div>

+0

像奇迹一样工作!非常感谢 – user1221765

+0

欢迎你的朋友 – Maher