2013-12-12 129 views
1

我想交換兩個收穫選擇選擇框之間的所有選項。該場景是我想記錄一個電話的細節。呼叫可以是入站或出站。如果呼叫是出站呼叫,我填入一個選擇框(呼叫者),其中列出了可以進行呼出呼叫的用戶的可能值列表,第二個呼叫者(被呼叫者)列出了可以呼叫的用戶的可能值列表。如果用戶將呼叫類型更新爲入站,則我想交換選擇框,以便被叫方位於呼叫方框中,反之亦然。選擇收穫選擇選擇框之間的交換選項

我非常接近這個工作,除了每次改變呼叫類型時,它都會將值附加到每個相應呼叫者/被呼叫者選擇的選擇選項的末尾,而不是完全清除它們並替換所有值。

希望得到一些幫助,爲什麼發生這種情況。

http://jsfiddle.net/RyHFK

HTML

<label for="call_type">Call Type:</label> 
<select name="call_type" id="call_type" class="chosen"> 
    <option value="OUTGOING">Outgoing</option> 
    <option value="INCOMING">Incoming</option>             
</select> 

<label for="caller">Caller:</label> 
<select name="caller" id="caller" class="caller chosen"> 
    <option value="Caller 1">Caller 1</option> 
    <option value="Caller 2">Caller 2</option> 
    <option value="Caller 3">Caller 3</option> 
    <option value="OTHER">Other</option> 
</select> 

<label for="caller">Callee:</label> 
<select name="callee" id="callee" class="callee chosen"> 
    <option value="Callee 1">Callee 1</option> 
    <option value="Callee 2">Callee 2</option> 
    <option value="Callee 3">Callee 3</option> 
    <option value="OTHER">Other</option> 
</select> 
+0

看看這篇文章,看看它是否適合你:http://stackoverflow.com/questions/47824/how-你會刪除所有的選項 - 然後 - 添加一個選項 - 和 - se – Streamside

回答

2

它寫的,要附加到每一個有變化的時間相同的陣列的方式。移動你的calleeOptionscallerOptions變量的變化處理程序中:

// on call type change 
$('#call_type').change(function(){ 

    var callerOptions = []; 
    var calleeOptions = []; 

Here's a jsFiddle.

+0

不能相信我錯過了。謝謝,工作完美。 –