Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Angularjs 使用复选框和下拉选择禁用输入字段_Angularjs - Fatal编程技术网

Angularjs 使用复选框和下拉选择禁用输入字段

Angularjs 使用复选框和下拉选择禁用输入字段,angularjs,Angularjs,我总共有3个字段。第一个是复选框。选择后,应激活输入字段。第二个是下拉列表,当选择某个选项时,应激活输入字段。第三个字段是实际输入字段,只有选中复选框且下拉列表具有特定选择时,才需要激活该字段 <input type="checkbox" ng-model="checkValue"> <select name="select" ng-model="selectValue"> <option value="option-1">Option 1</opt

我总共有3个字段。第一个是复选框。选择后,应激活输入字段。第二个是下拉列表,当选择某个选项时,应激活输入字段。第三个字段是实际输入字段,只有选中复选框且下拉列表具有特定选择时,才需要激活该字段

<input type="checkbox" ng-model="checkValue">
<select name="select" ng-model="selectValue">
  <option value="option-1">Option 1</option>
  <option value="option-2">Option 2</option>
  <option value="option-3">Option 3</option>
  <option value="option-4">Option 4</option>
</select>
<input type="text" ng-model="inputValue" ng-disabled="!checkValue && selectValue != 'option-1'">

选择1
选择2
选择3
选择4

您的评论是对的,它在复选框中绕过了您的selectbox型号。下面的东西在fidde对我有用

<input type="text" ng-model="inputValue" ng-disabled="(!checkValue) || (checkValue && selectValue == undefined)">

检查小提琴:

通过添加控制输入框状态的范围函数,可以添加更健壮的场景

<input type="text" ng-model="inputValue" ng-disabled="(!checkValue) || (checkValue && setInputState(selectValue))">

  $scope.setInputState= function(input){
    var state= false;
    if(input === undefined || input != 'option-1'){
        state = true;
    }
    return state;
   }

$scope.setInputState=函数(输入){
var状态=假;
如果(输入===未定义| |输入!='选项1'){
状态=真;
}
返回状态;
}

有什么问题?它工作不正常。该字段仅受第一个操作的影响:!复选框每当下拉列表被更改时,我希望禁用字段也会更新。我没有收到您的回复。每当下拉列表更改时,禁用字段将更新,因此每当用户在启用复选框时更改下拉列表时。它应该根据下拉列表的选择切换为禁用/启用。您可以通过在控制器中添加一个检查selectbox值的函数来使用更多选项。例如,在本小提琴中,仅当选择选项-1时,框才会启用。虽然你的功能确实有效,但我也发现在ng中使用它也会使它无法正常工作。有人做了一个答案并删除了它,但这里是jfiddle。