代码之家  ›  专栏  ›  技术社区  ›  volvox

使用getElementsByName()设置选项值

  •  4
  • volvox  · 技术社区  · 15 年前

    <fieldset>
        <legend>[*death]</legend>
        <select name=death  style="width: 120px">
            <option value=Dead>[*died]
            <option value=NotDead>[*alive]
            <option value="" selected>-
        </select>
    </fieldset>
    

    [2].value "-" .

    我尝试过但没有成功:

    document.getElementsByName('death')[2].checked = 'true';
    document.getElementsByName('death')[2].value = '-';  
    

    同样的代码适用于单选框、复选框或表单中的其他输入。如何使用选项select(不是输入)执行此操作?

    谢谢

    [编辑]当然,适当的字段集是:

    <fieldset>
      <legend>[*death]</legend>
        <select name="death"  style="width: 120px">
          <option value="Dead">[*died]</option>
          <option value="NotDead">[*alive]</option>
          <option value="" selected>-</option>
        </select>
    </fieldset>
    

    5 回复  |  直到 12 年前
        1
  •  8
  •   moribvndvs    15 年前

    有点不清楚你在问什么。您只是要求选择索引2处的选项吗?

    document.getElementsByName('death')[0].selectedIndex = 2;
    

    var d = document.getElementsByName('death')[0];
    d.options[2].value = '-';
    
        2
  •  2
  •   brabster    15 年前

    你需要操纵这个系统 selected 属性,请重试

    document.getElementsByName('death')[0].selectedIndex = 1;

    在英文中,这是“将所选选项设置为文档中名为“death”的第一个元素中的第二个选项”。

    修复HTML可能会使javascript的结果更加可预测。关闭标记,引用属性值,如下所示:

    <fieldset>
      <legend>[*death]</legend>
        <select name="death"  style="width: 120px">
          <option value="Dead">[*died]</option>
          <option value="NotDead">[*alive]</option>
          <option value="" selected>-</option>
        </select>
    </fieldset>
    
        3
  •  1
  •   Ju Nogueira    15 年前

    您可以使用jQuery来完成此操作。。。这很容易。。。

    j("#death").val(2)
    
        4
  •  0
  •   kevingessner    12 年前

    document.getElementsByName('death')[2] 返回名为的第三个元素 death -但是您只有一个同名的元素。相反,您希望第一个元素命名为 死亡 (即索引0处的选项),然后您需要其第三个选项: document.getElementsByName('death')[0].options[2].value = ...

        5
  •  0
  •   user3724032    8 年前

    下面是如何使用访问特定选项值的警报示例 getElementsByName

    alert(document.getElementsByName('death')[0].options[0].value); // will return Dead
    alert(document.getElementsByName('death')[0].options[1].value); // will return NotDead