我正在尝试设置一个具有多个下拉列表的表单,这将允许访问者对列表项进行排名。示例表单:
<form action="" name="rankem">
  <select name="rank1" id="rank1">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
    <option value="option4">Option 4</option>
    <option value="option5">Option 5</option>
  </select>
  <select name="rank2" id="rank2">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
    <option value="option4">Option 4</option>
    <option value="option5">Option 5</option>
  </select>
  <select name="rank3" id="rank3">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
    <option value="option4">Option 4</option>
    <option value="option5">Option 5</option>
  </select>
</form>当选项被选中时,我想从每个下拉列表中删除(分离)它们。
我的实际列表包含更多的选项,这样人们就可以对32个选项中的前10个进行排名,所以想象一下上面的示例代码,其中有10个下拉列表,每个下拉列表有32个选项。
如果有人从select#rank1中选择' option2‘,我希望从随后的下拉列表中删除option2,以此类推。如果它们返回到Option4,并将其选择更改为‘select#rank1 4’,则需要将'option2‘附加到所有下拉列表中。
我看过.detach()和.append(),但不知道我在做什么。
$("option[value="+$(this).val()+"]").detach();我尝试了上面的启动,但它只是从所有下拉列表中删除了该选项。我是一个JS/jquery菜鸟,所以任何正确方向的帮助或链接都将不胜感激。谢谢!
发布于 2018-08-18 02:43:19
这对我来说很有效,但我不知道如何使用下拉菜单重新附加。
$("#name1").children("optgroup[label='Test:']").removeAttr('disabled').siblings().detach("optgroup");https://stackoverflow.com/questions/3401734
复制相似问题