2014-09-11 2 views
0

У меня есть SelectList:Watin не будет срабатывать .Кнопкой() событие вручную

<select style="ime-mode: auto; background-color: rgb(255, 255, 255);" id="il_worksheettype" class="ms-crm-SelectBox" tabIndex="1100" name="il_worksheettype" attrPriv="7" attrName="il_worksheettype" req="2" defaultSelected="null"> 
<option title="" selected="selected" value=""></option> 
<option title="Underwriting" value="102790001">Underwriting</option> 
<option title="Claim" value="102790000">Claim</option></select> 

и у меня есть код:

worksheetTypes.Option("Claim").Select(); 
ProtectionInfoTab.Frame(Find.ById("contentIFrame")).Eval("$('#il_worksheettype').change();"); 

Проблема заключается в том, что по какой-то причине это просто привычка работать javascript или, по крайней мере, это впечатление, которое я получаю. Когда этот код не содержит исключений, но он просто ничего не делает, когда он должен делать параметры в другом списке выбора.

любые идеи?

ответ

1

Использование RunScript вместо Eval. Eval, похоже, связывает изменение, но не вызывает изменения.

RunScript работал для меня, где pk - ссылка на элемент.

Element pk = BrowserInstance.TextField("password");  
pk.DomContainer.RunScript("$('#" + pk.Id + "').change();");  
0

В вашем предложении Eval ваша функция изменения используется для привязки события, а не для его запуска. Для запуска события используйте следующее:

$ ('# il_worksheettype'). Trigger ('change');

http://api.jquery.com/change/

+0

Кажется, что не работает? – Ben

+0

Какие ошибки вы получаете в окне консоли JavaScript? –

+0

Как это сделать в IE? – Ben

0

Вы можете использовать ниже код для IE, чтобы вызвать событие изменения после выбора опции из списка выбора.

browserInstance.RunScript("$('#il_worksheettype').change()"); 

Для светлячок

browserInstance.RunScript("window.$('#il_worksheettype').change()"); 
Смежные вопросы