2016-07-25 60 views
0

我试图从一个loop中的select中删除选项。这个想法是,当用户向预订中添加数量时,选择数量将减少,这取决于选择了多少个房间,这就是为什么它处于循环中。我在里面放了一个警报,它确实循环了正确的时间量,它只是不去除optionsJavascript:尝试从循环中选择一个选项来删除选项

问题是,它只是没有删除任何东西,检查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(); 
} 
+0

你完全可以简化:'$( 'quantity_rooms_row '+行+' 选项')切片(-quantity)一个.remove();' - 即假设所有其他工作。 –

+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>

+0

这是行得通的,谢谢大家的回复,非常感谢! –

+0

欢迎@Jack_McG –

0

给我你的plunker或拨弄我会纠正,否则你可以看到阵列的方法有很在JavaScript方法,通过它可以从一个删除元素阵列像剪接和弹出

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

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

语法:yourArray.pop();