Как выбрать значение выпадающего - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь выбрать опцию в раскрывающемся списке, используя casperJS. Мой HTML

<select data-role="none" id="selectStatus">

<option value="SINGLE">Single</option>
<option value="MARRIED_FILING_JOINTLY">Married Filing Jointly</option>
<option value="MARRIED_FILING_SINGLY">Married Filing Separately</option>
<option value="HEAD_OF_HOUSEHOLD">Head of Household</option></select>

и мой JS

var status = 2; // Single , Married Filing Jointly , Married Filing Separately , Head of Household
//trying different ideas here... 
if(status == 1){
            status = 'SINGLE';
        }else if(status == 2){
            status = 'HEAD_OF_HOUSEHOLD';   
        }else if(taxFilingStatus == 3){
            status = 'MARRIED_FILING_JOINTLY';  
        }else if(taxFilingStatus == 4){
            status = 'MARRIED_FILING_SINGLY';   
        }

this.evaluate(function () {
        $('#selectStatus').val(status).change();
    });
    this.echo(status);
    this.capture(CapturePath('StatusSelected.png'));

Я не получаю статус, выбранный при передаче в качестве переменной, но когда я передаю переменную следующим образом

$('#selectStatus').val('SINGLE').change();

любой намек, в чем здесь проблема? Есть ли какие-либо ограничения в передаче строк?

1 Ответ

0 голосов
/ 28 апреля 2018

Вы не передаете status переменную внутри page.evaluate, поэтому она не определена в контексте браузера, следовательно, она не работает.

Правильный способ сделать это:

this.evaluate(function (status) {
    $('#selectStatus').val(status).change();
}, status);
...