javascript - 如何使用javascript函数按ID对选择的元素进行排序?

标签 javascript

我定义了这个下拉列表,其中定义了属性 nameid,并且还调用了一个函数。

<select id="myid" name="myid" onClick="sortlist(this.id)">
  <option value="volvo">b</option>
  <option value="saab">c</option>
  <option value="mercedes">a</option>
  <option value="audi">d</option>
  <option value="audi">s</option>
  <option value="audi">f</option>
</select>

我想在用户点击(或不点击)时按字母顺序对其进行排序,为此我找到了这个算法

function sortlist(selElem) {
  var tmpAry = new Array();
  for (var i=0;i<selElem.options.length;i++) {
    tmpAry[i] = new Array();
    tmpAry[i][0] = selElem.options[i].text;
    tmpAry[i][1] = selElem.options[i].value;
  }
  tmpAry.sort();
  while (selElem.options.length > 0) {
    selElem.options[0] = null;
  }
  for (var i=0;i<tmpAry.length;i++) {
    var op = new Option(tmpAry[i][0], tmpAry[i][1]);
    selElem.options[i] = op;
  }
  return;
}

我将元素 id 传递给函数,因为我想对其他下拉列表使用相同的函数,但这不起作用。

请你睁开眼睛看看我做错了什么吗?

在这里检查 jsfiddle:http://jsfiddle.net/u5YZp/

最佳答案

这就是你必须这样做的方式。 JSFiddle .

您需要传递 elem,而不是 id,并且您的函数应该是全局的

<select id="myid" name="myid" onClick="sortlist(this)">

关于javascript - 如何使用javascript函数按ID对选择的元素进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738095/

相关文章:

javascript - 我怎样才能在队列中的动画效果期间仍然能够切换

javascript - 检查条件后表单验证不发出警报

javascript - Django - 我已将 onclick 函数添加到 html 中,每当我单击不同的按钮时,它都会呈现相同的数据。如何解决这个问题?

javascript - 使用 Underscore.js 对对象进行分组和排序

javascript - 如何从 JavaScript 输出 JSON 输出,以便将其识别为 JSON?

javascript - 即使没有点击也会触发 onclick 事件

Javascript 对象作为另一个 js 对象的父对象

javascript - AngularJS:单击时如何在另一个div上显示元素

javascript - 用js设置不透明度或关闭模态窗口

javascript - 已动态添加到 DOM 的元素的第一个实例的选择器