2017-01-13 71 views
0

我正嘗試使用一個輸入字段來填充<select><option>。需要注意的是,我想在選擇中添加多個輸入,但我正在努力添加多個輸入。這很難解釋,但流程是我將團隊名稱添加到輸入中,然後出現在爲用戶/成員選擇的下拉列表中。將多個輸入插入選擇菜單

這是我目前如何做到這一點:

這增加了多個字段。

<div class="multi-field-wrapper"> 
     <div class="multi-fields"> 
     <div class="multi-field"> 
      <input type="text" name="teamName" id="teamName"> 
      <button type="button" class="remove-field">Remove</button> 
     </div> 
     </div> 
     <button type="button" class="add-field">Add field</button> 
    </div> 

從外地輸入,然後填充以下字段:

<label>Select Team</label> 
     <select id="teamList"> 
    </select> 

,這是像這樣處理的:這裏是

$('#teamName').on('change', function() { 
    var $selectEl = $('#teamList'); 
    var $dashboardOption = $selectEl.find('.team-name'); 
    if ($dashboardOption.size()) { 
     $dashboardOption.attr('value', $(this).val()).text($(this).val()); 
    } else { 
     $selectEl.append('<option class="team-name" value="' + $(this).val() + '">' + $(this).val() + '</option>'); 
    } 
    }); 

我的問題,我要如何插入多個輸入進入如上所述的選擇/選項?它甚至有可能嗎?

回答

1

此刻,您的更改事件綁定到一個輸入元素,ID爲「teamName」。如果你將不得不要執行此功能的多個輸入框,那麼你可以使用一個類,因此該事件被綁定到所有的人,像這樣:

HTML:

<input type="text" name="teamName" class="teamInputs"> 

JS:

$(document).on('change', '.teamInputs', function() { 

請注意,我用的委派事件的語法,這樣的更改事件將會在與類「teamInputs」所有輸入觸發,即使他們還不時這個代碼存在運行。