javascript - 如何动态操作选择选项

标签 javascript dom-events

我想添加选项以通过单击按钮通过 JavaScript 动态选择。我想确定它是否已经存在一个选项,然后它只添加到 n+1 个选项位置。

<select name="select">
 <option value="value1">Value 1</option> 
 <option value="value2" selected>Value 2</option>
 <option value="value3">Value 3</option>
</select>
<button onclick =addvalue()>clickme</button>enter code here
function addvalue()
 {
  var e=document.getElementById('select');
  var i =0;
  var abc = true;
  while(abc)
  {
   if (e.options[i].innerText==null)
   {
    abc =false;
   }
   i++;
 }
 alert(i);
}

但这会引发一个错误,即 e.options[i].innerText 为空或不是对象。我将用稍后添加选项的代码替换警报。

最佳答案

e.options[i].innerText is null or not an object

因为当 i >= options.length 时没有 options[i]。检查是否存在:

function addvalue()
 {
  var e=document.getElementById('select');
  var i =0;
  var abc = true;
  while(abc)
  {
   if (!e.options[i] || e.options[i].innerText==null)
   {
    abc =false;
   }
   i++;
  }
  alert(i);
}

http://jsfiddle.net/eMQzC/

它会提醒 4,我不确定这是你想要得到的。 iabc设置为false后增加一次。

我认为您可能根本不需要那个 while 循环。

function addvalue()
 {
  var e=document.getElementById('select'), i = e.options.length;
  alert(i);
}

这将提醒 3,因为它是您选择的选项数。

关于javascript - 如何动态操作选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865599/

相关文章:

javascript - 当部分 HTML 当前可见时,如何连续执行 Javascript 函数?

javascript - CouchDB 中的过滤和排序 View ?

Javascript/Node 检查是否有回调完成的循环

javascript - 如何在不点击 Angular 情况下标记多个元素?

javascript - 如何将 onClick 事件处理程序添加到 Canvas 元素 (arc)?

javascript - 处理文件时动态显示多个 JSON 响应

javascript - 在 javascript 中倒计时到明天的日期?

javascript - jQuery-File-Upload 取消javascript上传

Javascript 检查键盘状态

javascript - 悬停时复制到剪贴板