在 PHP 下拉列表中选择全部

Select all in PHP dropdown list

本文关键字:选择 全部 下拉列表 PHP      更新时间:2023-09-26

我创建了一个简单的下拉列表,该下拉列表是从以前的下拉列表中填充的。

如何使所有选项都处于选中状态?

下面提到的是填充它的javascript的代码。

function OnClkAddButtonServer(form)
{
    var selObj = document.getElementById('List1');
     var selObj2 = document.getElementById('List2');
      var i;
      var count = selObj2.options.length;
      for (i=0;i<selObj.options.length;i++) 
      {
         if (selObj.options[i].selected) 
         {
               var option = new Option(selObj.options[i].text,selObj.options[i].value);
               option.title = selObj.options[i].text;
               selObj2.options[count] = option;
               count=count+1;
               selObj.options[i] = null;
               i--;
         }
      }
}

提前致谢

如果您尝试选择列表中的所有选项,则需要 HTML 如下所示。

<select multiple="multiple">
  <option selected="selected">Volvo</option>
  <option selected="selected">Saab</option>
  <option selected="selected">Mercedes</option>
  <option selected="selected">Audi</option>
</select>

要选择新创建的选项,您可以使用 Javascript 方法来更改 HTML 属性,如下所示。

document.getElementById("idElement").setAttribute("class", "className");

此示例要求您知道元素的 ID,但如果您以其他方式引用该元素,则可以跳过浪费的查找。

首先,如果要选择所有下拉选项,则需要确保选择类型为多个。

例如,假设 selObj2 引用<select>标签 ( <select id = "List2"> ),您可能希望将 "multiple" 属性添加到 select 标签:

<select id = "List2" multiple = "multiple">

如果要在JS中执行此操作,可以插入以下行:

selObj2.setAttribute("multiple", "multiple");

selObj2.multiple = true;

当然,这是假设 selObj2 是一个<select>标签。但是,您必须启用多个选择才能选择多个选项。启用此属性后,您可以继续下一步...

现在,假设 selObj2.options 引用了您希望选择的各个选项,您可以在 JS 中执行此操作(只需在函数 OnClkAddButtonServer 的结尾大括号之前添加此块):

for (var i=0; i<selObj2.options.length; i++)
{
    selObj2.options[i].setAttribute("selected", true);
    // or,
    // selObj2.options[i].selected = true;
}

另外,请注意我使用的 for 循环:

var i=0;

这是因为我们正在创建循环范围的本地变量 i,这意味着如果我们想在循环之外使用 i,这两个实例不会冲突。如果您没有使用关键字"var",那么变量 i 将在整个脚本中的任何位置访问(创建了一个全局变量)。将变量保留在本地是一个好习惯,并且由于人们倾向于在这些循环中经常使用 i 或 x 作为计数器,因此为了避免任何令人讨厌的意外,采取预防措施是一个很好的预防措施。