1

Chrome と IE9 で正常に動作するコードがいくつかあります。互換モードを実行している IE8 ブラウザーでは、壊れます。ユーザー ベースは互換モードで IE8 を実行します。通常の使用を強制するためにこれを入れました: content="IE=edge

<form class="imei-block-radio" name="myForm">

      <input type="radio" name="blocktype" ng-model="actionType" value="block"        ng-click="changeBlock('block')" checked="true">  Block <br/> <br/>
      <input type="radio" name="blocktype" ng-model="actionType" value="unblock" ng-click="changeBlock('unblock')"> Un-Block <br/>

</form>

ヒットするコードはページのコントローラーにあり、コードはヒットしますが、入力パラメーターは「未定義」です。

$scope.changeBlock = function(value) {
    alert(value);
    if (value == 'unblock')
    {
      ...
    }
}

アラートは、「値」が常に未定義であることを常に示しています。また、コントローラーで定義された他の変数は次のようになります。

$scope.actionType = 'block';

changeBlock関数内でも未定義です。

4

2 に答える 2

0

ng-model は、IE8 以前の入力ラジオでは動作しないようです。

これは私のために働く:
<input type="radio" ng-checked="actionType=='block'" ng-click="actionType='block'" name="blocktype" value="block">
<input type="radio" ng-checked="actionType=='unblock'" ng-click="actionType='block'" name="blocktype" value="unblock">

回避策: ng-model を ng-check と ng-click に置き換えます

于 2013-08-09T16:24:07.717 に答える