ng-click在android kitkat 4.4.4上使用ng-repeat表现得很奇怪

时间:2015-02-02 13:23:07

标签: android angularjs

我在android上测试我的代码时遇到了一个非常奇怪的问题。 能够在Android 4.4.4版本中重现此问题。(能够在每个具有套件值4.4.4的设备中重现)

我想做什么: 这是一个允许用户选择安全问题的页面。 我从JSON文件中提取问题列表。 在那个JSON对象上使用ng-repeat来获取所有问题的单选按钮。 除此之外,我们还有一个与每个问题相对应的输入按钮。 它们基本上是隐藏在用户视图之外的,我们只有在用户点击相应的单选按钮后才显示它们 休息所有输入字段都保持隐藏状态。

使用基本的ng-hide / show指令实现了这个目标

基于以下事实:只要用户点击单选按钮,就会显示相应的输入字段。

然后是ng-repeat指令范围之外的提交按钮,它只是将我们带到下一页。

现在的问题是,如果我选择第一个单选按钮并输入任何内容,然后单击提交按钮而不将焦点从输入字段中取出。 什么都没发生 。它只是将焦点从输入框中取出。在下一次单击它工作正常。 甚至更奇怪的是,功能似乎适用于最后一个无线电选项。

下面的

是必需的html部分代码。

    <form>
                <fieldset>
                    <div ng-repeat="question in  sortedQuestion1">

                        <label for="optionsRadios.{{$index}}" class="radio radio modal-form marTop20">
                            <input type="radio" name="optionsRadios" id="optionsRadios.{{$index}}"
                                   value="{{question.QuestionId}}" ng-model="SeqQuestions.firstQuestionId"
                                   ng-click="clickSet=true;SeqQuestions.securityAnswer1=''; showRadio($index)"/>

                            <i class="skin"></i>
                            <span ng-bind-html="question.QuestionText"></span>
                        </label>

                        <div class="checkbox-content hide" id="showText{{$index}}"
                             ng-class="{'showText{{$index}}': 'show','': 'hide'}[radioFlag]">
                            <div class="form-row"
                                <label for="{{$index}}"><span ng-bind-html="content.Security_Question.Label"/></label>

                                <div class="field-group">
                                    <input id="{{$index}}" class="span3" type="text"
                                           ng-model="SeqQuestions.securityAnswer1"
                                           name="securityAnswer1"
                                           ng-dirty="clickSet=false;"/>

                                    <button class="reset-field reset hide-text" type="button"
                                            ng-click="clickSet=true;SeqQuestions.securityAnswer1='';">Reset field
                                    </button>
                                </div>
                            </div>


                        </div>
                    </div>
                </fieldset>
            </form>
        </div>
        <div class="content-pad">
            <button class="btn " id="nextQestion" role="button" ng-init="clickSet=true"
                    ng-disabled="!SeqQuestions.securityAnswer1" ng-click="nextSecurityQ()"><span ng-bind-html="content.Security_Question.NextQuestion.Label"></span>
            </button>
            <a class="btn " role="button" ng-mousedown="cancelLink()" ng-bind-html="content.Common_Elements..Cancel.Label"></a>
        </div>

    </form>



             $scope.nextSecurityQ = function () {
                  $log.info("updateSecurityQuesCtrl : inside method");              
                  $location.url("/securityQuestion2");


        };

完全没有关于为什么会发生这种情况的线索。 任何帮助都很高兴

0 个答案:

没有答案