Javascript:尝试从循环中的select中删除选项

时间:2016-07-25 09:27:25

标签: javascript

我正在尝试从select内的loop中删除选项。这个想法是,当用户在预订中添加数量时,选择的数量将根据已选择的房间数量而减少,这就是它循环的原因。我在其中放了一个警告,它确实循环了正确的时间,它不会移除options

问题是它只是没有删除任何内容,检查variables并且它们都是预期的。非常感谢任何帮助。

这是我目前的代码:

//example variables
var quantity = 3;
var row = 2;
for (var i = 0; i < quantity; i++) {
var el_to_remove = $('.quantity_rooms_row_'+row+' option').last();
el_to_remove.remove();
}

2 个答案:

答案 0 :(得分:1)

var quantity = 3;
var row = 2;
for (var i = 0; i < quantity; i++) {
  var el_to_remove = $('.orange'+row).last();
  el_to_remove.remove();
}
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 </head>
<body>
<select>
  <option value="orange1" class="orange1">Orange 1</option>
  <option value="orange2" class="orange2">Orange 2</option>
  <option value="orange3" class="orange3">Orange 3</option>
  <option value="orange4" class="orange4">Orange 4</option>
</select>

</html>

答案 1 :(得分:0)

给我你的plunker或小提琴我会纠正否则你可以看到数组方法有javascript中的方法,您可以通过它删除数组中的元素,如拼接和弹出

1.splice - : 添加/删除数组中的元素 语法:array.splice(index,howmany,item1,.....,itemX).

2.pop - : 删除数组的最后一个元素,并返回该元素。

语法:yourArray.pop();