2016-07-25 58 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();