2015-04-23 2 views
2

Я пишу cucumber тест с selenium. Проблема в том, что есть одно раскрывающееся меню, и я выбираю одно из значений с помощью jquery, но когда я нажимаю дальше, он дает ошибку.Область Angularjs не обновляется, когда я выбираю значение из jquery

В основном угловой не обновил его область.

<select name="837" id="answer_837" class="donothing_to_my_select ng-scope ng-pristine ng-invalid ng-invalid-required" ng-model="answers[question.question_id]" ng-options="obj.possible_answer_id as obj.answer for obj in question.possible_answers" required=""> 
    <option class="" value="">--Select Option--</option> 
    <option label="b" value="0">b</option> 
    <option label="d" value="1">d</option> 
    <option label="c" value="2">c</option> 
    <option label="a" value="3">a</option> 
</select> 

В том же огурце, сценарий я запускаю этот JQuery код, чтобы выбрать третий вариант:

$('#answer_837 option[label=c]').prop('selected',true) 

Это будет выбрать третий вариант, но, опять же, это не обновление угловых сфер.

Я попытался получить объект области $apply, но он также не работает.

var newVal = $('#answer_837 option[label=c]').val(); 
var scope = angular.element($("select")).scope(); 
    scope.$apply(function(){ 
     scope.answers[837] = newVal; 
    }); 
+0

Не могли бы вы дать SNIPPET некоторый контекст путем загрузки контроллера или директивы – dcodesmith

ответ

0

Попробуйте это:

$('#answer_837').prop('value',2); 
$('#answer_837').trigger('change'); 
+0

это работало. благодаря – jaybutani

Смежные вопросы