Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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
Javascript 自动检查单选按钮并执行ng更改_Javascript_Html_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 自动检查单选按钮并执行ng更改

Javascript 自动检查单选按钮并执行ng更改,javascript,html,angularjs,angularjs-directive,Javascript,Html,Angularjs,Angularjs Directive,我正在开发一个Angular应用程序,我正在使用单选按钮在两个数据集之间切换 它按预期工作,除了我希望在页面加载时检查其中一个单选按钮,并且我希望它的ng change参数也在页面加载时执行 我目前的做法是: <div ng-init="value='valOne'; myFunc(value)"> <label class="radio-inline"> <input type="radio" name="site" value="valOne" ng

我正在开发一个Angular应用程序,我正在使用单选按钮在两个数据集之间切换

它按预期工作,除了我希望在页面加载时检查其中一个单选按钮,并且我希望它的ng change参数也在页面加载时执行

我目前的做法是:

<div ng-init="value='valOne'; myFunc(value)">
  <label class="radio-inline">
    <input type="radio" name="site" value="valOne" ng-model="value" ng-change="myFunc(value)">Val One</input>
  </label>
  <label class="radio-inline">
    <input type="radio" name="site" value="valTwo" ng-model="value" ng-change="myFunc(value)">Val Two</input>
  </label>
</div>

瓦尔一号
瓦尔二号

在选中第一个单选按钮的情况下,这会正确加载我的页面,但我也不知道如何在页面加载时执行myFunc()。我也尝试过在声明后在控制器内调用myFunc(),但这对我不起作用。

您可以在控制器中执行以下操作:

$scope.value = 'valOne';
$scope.myFunc($scope.value);

这应该选择右单选按钮,因为
ng model
并执行该功能。

我会使用$timeout启动我的功能,如下所示:

function Controller($scope, $timeout){
    ...
    $timeout(function(){
         $scope.myFunc(value);
    },1000);
}

您可以共享控制器代码吗?您的代码应该工作正常,您提供的代码中似乎没有问题。请回答以下问题。当您手动选择不同的单选按钮时,是否调用了您的函数?它是否在浏览器控制台上显示任何错误以及您正在使用的浏览器?是的,当我手动更改单选按钮时,该功能将按预期调用。控制台中没有错误,我正在使用Chrome。这是我一直在寻找的解决方案类型,但不幸的是,它不适合我!你能解释一下为什么它不起作用吗?也许给我们一个机会看看我希望我知道为什么!我猜这与函数在声明之前被调用有关。我的控制器目前相当大,所以我会尝试用更简洁的版本来展示我的应用程序。