首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WatIn值触发WatIn更改事件

使用WatIn值触发WatIn更改事件
EN

Stack Overflow用户
提问于 2014-10-06 05:15:11
回答 1查看 450关注 0票数 0

我正在使用WatIn,就像您从标题中看到的,工作在vs-2012 (4.5) c#上。

我的目标是用我正在工作的SelectList ->change事件--那里有值109,110,111的SelectList --在这个SelectList上进行事件更改,但是用我的值2014。如果我自己按F12-FireBug (控制台)并更改值,然后从列表中选择它可以正常工作,但我需要用代码来完成。

这里的html代码

代码语言:javascript
复制
<select name="endYear" class="dateText" onchange="setupDays('end');
verifyDate('end'); evaluateDateRange();">
<option value="109">109</option>
<option value="110">110</option>
<option value="111">111</option>
<option value="112">112</option>
<option value="113">113</option>
<option value="114">114</option>
</select>

这是我尝试过的,但是我得到了错误的'$' is undefined

代码语言:javascript
复制
browser.DomContainer.Eval("$('#startYear select option').attr('selected', '2014');"); 

还有这个

代码语言:javascript
复制
SelectList ddlStartYear = PopupDateFrame.SelectList(Find.ByName("startYear"));
  string js = string.Format("$('#startYear select option').attr('selected', '2014').change();",    ddlStartYear.Id);
  browser.Eval(js);

有没有人知道这样做是否可行?如果是的话,怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-06 17:58:45

将元素添加到list选项的代码如下:

代码语言:javascript
复制
string js = "";
js = js + "var theSelectList = document.getElementById('endYear'); ";
js = js + " AddSelectOption(theSelectList, \"Some Description\", \"2014\", true);";
js = js + " function AddSelectOption(selectObj, text, value, isSelected) ";
js = js + "{";
js = js + " if (selectObj != null && selectObj.options != null)";
js = js + "{";
js = js + " selectObj.options[selectObj.options.length] = new Option(text, value, false, isSelected);";
js = js + "}}";

browser.Eval(js);

若要以编程方式执行onchange事件,请执行以下操作:

代码语言:javascript
复制
listReference.FireEvent("onchange");

激发事件时执行的事件的另一种方法是查看网页的源,如果找到对js函数的调用,则可以设置元素的值,然后使用所需的任何参数从Watin内部调用这些函数,避免触发事件。在某些情况下,这可能是可行的,而另一些则可能行不通,但值得指出的是这一点。

就像在这个特定的例子中一样,您可以设置元素的值,然后手动调用onchange事件上调用的三个函数,例如:

代码语言:javascript
复制
browser.Eval("setupDays('end');verifyDate('end');evaluateDateRange();");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26210356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档