1
У меня есть этот HTML:Не может вызвать изменения на вариант с CasperJS
<select class="ik-target" name="make_id" id="the_maker_id" data-ik-class="maker-select">
<option value="" class="empty-item">Choose maker</option>
<optgroup label="Some of them">
...
</optgroup>
<optgroup label="Chosen">
<option value="2" style="text-indent: 10px;">A</option>
<option value="5" style="text-indent: 10px;">B</option>
<option value="16" style="text-indent: 10px;">C</option>
<option value="819" style="text-indent: 10px;">D</option>
</optgroup>
</select>
Я тогда попробовать это (который обычно работает):
var thisnow = "5";
this.evaluate(function(valueOptionSelect){
$('select#form_maker_id optgroup[label="Chosen"] option').val(valueOptionSelect);
$('select#form_maker_id optgroup[label="Chosen"] option').trigger("change");
},thisnow);
Но это не изменяет значение параметра из по умолчанию value=""
Любые идеи, как я могу это исправить?
Во-первых, вы должны вызвать '' change' на select', а не 'option' (s). А во-вторых, то же самое для '.val()' –
@ A.Wolff вот так? '$ ('select # form_maker_id optgroup [label =" Chosen "]')'? Не работает:/ – user1665355
Нет, я имел в виду, например: '$ ('# form_maker_id'). Val (valueOptionSelect);' и '$ ('# form_maker_id'). Trigger ('change');' и btw это может быть цепочка : '$ ('# form_maker_id'). val (valueOptionSelect) .change();' –