如何在JavaScript中预先选择下拉列表中的选项?

15 浏览
0 Comments

如何在JavaScript中预先选择下拉列表中的选项?

我有一个下拉菜单的代码:\n

if (chosen == "游行") {
  selbox.options[selbox.options.length] = new Option("选择场地", "");
  selbox.options[selbox.options.length] = new Option("贝纳维德公园", "贝纳维德公园");
  selbox.options[selbox.options.length] = new Option("CME礼堂", "CME礼堂");
  selbox.options[selbox.options.length] = new Option("工程体育场", "工程体育场");
  selbox.options[selbox.options.length] = new Option("大看台前的场地", "大看台前的场地");
  selbox.options[selbox.options.length] = new Option("大广场", "大广场");
  selbox.options[selbox.options.length] = new Option("四百周年公园", "四百周年公园");
  selbox.options[selbox.options.length] = new Option("校长大厅", "校长大厅");
  selbox.options[selbox.options.length] = new Option("修道院体育馆", "修道院体育馆");
  selbox.options[selbox.options.length] = new Option("蒂诺科公园", "蒂诺科公园");
  selbox.options[selbox.options.length] = new Option("UST大看台", "UST大看台");
  selbox.options[selbox.options.length] = new Option("UST体育馆", "UST体育馆");
  selbox.options[selbox.options.length] = new Option("未列出的场地/UST之外", "未列出的场地/UST之外");
}

\n如何将选项\"贝纳维德公园\"设置为默认值?\n在HTML中,可以这样写:\n

selected="selected"

\n那在JavaScript中呢?

0
0 Comments

在JavaScript中,有时候我们需要在一个下拉菜单(dropdown)中预先选择一个选项。下面是一个解决这个问题的示例代码:

var foo = document.getElementById('yourSelect');
if (foo)
{
  foo.selectedIndex = 0;
}

代码中,我们首先使用`document.getElementById`方法获取到下拉菜单的元素,其中`'yourSelect'`是该下拉菜单的id属性值。然后我们使用`selectedIndex`属性将预选项的索引设置为0,即第一个选项。注意,这里的索引是从0开始的。

通过这段代码,我们可以在页面加载完成后,将下拉菜单的默认选项设置为指定的选项。这对于一些需要默认选择特定选项的情况非常有用。

需要注意的是,如果找不到对应id的元素,我们需要进行判断,以免出现错误。在上述代码中,我们使用了`if (foo)`这样的判断语句,确保我们只在找到下拉菜单元素时执行设置默认选项的代码。

如果你需要在不同的下拉菜单中设置默认选项,只需要将`'yourSelect'`替换为对应的下拉菜单id即可。

希望这个简单的代码示例可以帮助你在JavaScript中预选下拉菜单的选项。如果你遇到了类似的问题,可以尝试使用这段代码来解决。

0
0 Comments

在下面的代码中,我们可以看到一个JavaScript函数,该函数用于预先选择下拉框中的一个选项。代码的目的是通过将选项添加到下拉框中,并将所选项的索引与预选项的索引进行比较,从而将预选项设置为所选项。

代码中的变量selectedItem用于存储预选项的索引。options数组包含下拉框中的选项列表。selbox.add方法用于将选项添加到下拉框中。在添加每个选项时,我们将判断该选项是否为预选项,如果是,则将其设置为选中状态,否则将其设置为未选中状态。

代码的好处是,我们只需要更改options数组中的值即可更改预选项。此外,我们还可以将此代码重构为一个独立的函数,该函数接受一个数组和一个下拉框作为参数,并负责加载选项。

需要注意的是,此代码在大多数浏览器中都可以正常工作,但对于IE6,可能需要在w3schools上找到一个解决方案。另外,如果下拉框中已经有选项,则这些选项将保留。如果需要清除下拉框中的选项,可以使用来自这里的代码进行清除。

下面是整理后的代码:

var selectedItem = -1; // 更改以选择不同的选项
var options = ["Benavides Park", "CME Auditorium", "Engineering Sports Complex", "Field in front of Grandstand", "Plaza Mayor", "Quadricentennial Park", "Rectors Hall", "Seminary Gym", "Tinoco Park", "UST Grandstand", "UST Gymnasium", "Venue not listed/outside UST"];
selbox.add( new Option("Select Venue", "", (-1 == selectedItem) ? 1 : 0));
for (var i = 0; i < options.length; i++) {
   selbox.add( new Option(options[i], options[i], (i == selectedItem) ? 1 : 0) );
}

代码经过测试,可以在大多数浏览器中正常工作。如果需要在IE6中使用,可以在w3schools上找到解决方案。另外,如果下拉框中已经有选项,则这些选项将保留。如果需要清除下拉框中的选项,可以使用来自这里的代码进行清除。

0
0 Comments

在 JavaScript 中,要预先选择一个下拉列表中的选项,需要使用new Option("UST Grandstand","UST Grandstand", 1);,注意右边的1。这意味着该选项被选中。该值需要与false不同,就是这样。但是,如果我想验证所选值是否为例如select your value,这是标准值,并且它是这样的:selbox.options[selbox.options.length] = new Option('Select your value', '', 1);,像你说的那样。我该如何实现这一点呢?目前我有这样的代码:if(sel == null || sel == "") { alert("The dropdown list can't be empty."); return false; },但它仍然接受表单提交,同时弹出警告。

0