js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年相关的知识,希望对你有一定的参考价值。

例如:今年在下拉菜单的默认值是2011-2012

参考技术A <BODY>

<select id="sel"></select>

</BODY>

<SCRIPT LANGUAGE="javascript">
window.onload = function()

var sel = document.createElement('select');
var date = new Date();
for(var i=0;i<5;i++)

var opt = document.createElement("option");
opt.value = i;
opt.innerhtml = (date.getYear()-i-1)+"-"+(date.getYear()-i);
sel.appendChild(opt);

document.body.appendChild(sel);

</SCRIPT>本回答被提问者采纳
参考技术B 电子钟???

验证下拉菜单的当前选择

【中文标题】验证下拉菜单的当前选择【英文标题】:Verifying current selection of a dropdown menu 【发布时间】:2015-02-06 11:48:32 【问题描述】:

使用 Selenium Webdriver (Java)

当用户在另一个会话中返回该页面时,我需要验证从下拉菜单中选择的值是否已保存。

下拉菜单很简单,它只是改变搜索后每页显示的记录数。

值是 5、10、25、50 和 100。

使用 getText() 只返回数组中的值。我需要验证如果用户选择了 25,那么在返回此特定页面时该值是否相同。简单的断言语句在这里不起作用,因为值“25”可以出现在其他字段中。

我也尝试过 Select 的各种用法,但都没有成功。

如果有任何建议,我将不胜感激。如果我遗漏了任何关键信息,请随时指出,我会更新帖子。

【问题讨论】:

【参考方案1】:

-- 这将在下拉列表中给出选定的选项

Select select = new Select(driver.findElement(By.xpath("//path_to_drop_down"))); WebElement option = select.getFirstSelectedOption() String SelectedText = option.getText();

【讨论】:

【参考方案2】:

你需要使用Select

IWebElement selectElement = driver.FindElement(By.Id("id"));
SelectElement selectedValue = new SelectElement(selectElement);
string selectedText = selectedValue.SelectedOption.Text;

我是用 C# 编写的。但是Java也相当接近。见this

编辑: 根据 api 文档,您应该使用 getFirstSelectedOption().getText() 而不是 SelectedOption.Text;

【讨论】:

【参考方案3】:

查看following answer

Select select = new Select(driver.findElement(By.xpath("//path_to_drop_down")));
WebElement option = select.getFirstSelectedOption()

【讨论】:

感谢您的反馈。我按照你的建议做了,它做了我需要的。选择 select = new Select(driver.findElement(By.xpath("//*[@id='listingDetailJqGrid_toppager_center']/table/tbody/tr/td[8]/select"))); WebElement option = select.getFirstSelectedOption();现在它返回实际的元素属性。所选选项的索引为:[[[[FirefoxDriver:firefox on WINDOWS (4a0c1158-004e-4a48-843e-d2952e4af4ff)] -> xpath: //*[@id='listingDetailJqGrid_toppager_center']/table/tbody/tr /td[8]/select]] -> tag name: option] 我期待 25 或至少它的索引位置。 @JohnMcGrath 您需要使用select.getFirstSelectedOption( ).getText( ); 来获取文本 感谢您的帮助。除了基本断言之外,很久没有这样做了。现在我被要求提供更详细的测试,我没有很多经验。这正是我所需要的。非常感谢,Saifur。

以上是关于js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年的主要内容,如果未能解决你的问题,请参考以下文章

C# combox 设置显示下拉菜单的第一项,如图。还有下拉选项的索引怎么回事,所索引为零是菜单的第一个选项

ActiveAdmin :select 下拉菜单在开发中默认为当前值,但在生产中默认为空白

angular 1.5 如何创建年份选择器下拉菜单

验证下拉菜单的当前选择

如何在 Jquery Date Picker 中添加请选择月份年份下拉菜单的选项?

用js或者jq实现,根据下拉菜单的字段来显示对应的内容?