テーブル内にさまざまなオプションを持つ新しい選択要素を作成するために使用する2つの関数があります。オプションの数は可変であり、配列に渡されます。問題は、[新規追加]リンクをクリックして、両方の機能を使用することができないことです。私はさまざまな方法を試しましたが、HTMLがテーブルにあるため、テーブルに行を追加したり、新しい選択を作成したり、同時にオプションを追加したりするのが難しいです。助けていただければありがとうございます。テーブル内の選択とオプションを1クリックから追加
私は、このリンク上でコードをテストしてきた:http://jsfiddle.net/DegTc/30/
$(function() {
$(".AddItem").click(function() {
$(this).closest('table').find('tr:last').prev().after('<tr><td><select type="select" class="custom-select custom-select_gray" data-toggle="dropdown" id="dropdownMenuAdded" aria-haspopup="true" aria-expanded="true" style="font-family: \'Work Sans\', Tahoma, Geneva, sans-serif;font-size:10px;color:#606060;text-align:center;width:100px;height:25px;"><option label="Event">Event</option></select></td></tr>');
return false;
});
});
$(function() {
$(".AddOption").click(function() {
var events = [[ "Event 1", "10.04"], [ "Event 2", "30.04"]];
var selId = "dropdownMenuAdded";
initDropdownList(selId, events);
function initDropdownList(id, eventEls) {
var select, i, option;
select = document.getElementById(id);
for (i = 0; i < eventEls.length; i++) {
option = document.createElement('option');
/* alert("eventEls.length: " + eventEls.length);
alert("eventEls[i]: " + eventEls[i][0] + " " + eventEls[i][1]);*/
option.value = option.text = eventEls[i][0] + " " + eventEls[i][1];
select.add(option);
}
select.id = "dropdownMenu1";
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr><td>
<select type="select" class="custom-select custom-select_gray" style="font-family:Work Sans, Tahoma, Geneva, sans-serif;font-size:10px;color:#606060;text-align:center;width:100px;height:25px;">
<option label="Event">Event</option>
</select>
</td>
</tr>
<tr><td><select type="select" class="custom-select custom-select_gray" data-toggle="dropdown" id="dropdownMenu1" aria-haspopup="true" aria-expanded="true" style="font-family:Work Sans, Tahoma, Geneva, sans-serif;font-size:10px;color:#606060;text-align:center;width:100px;height:25px;"><option label="Event">Event</option></select></td></tr>
<tr>
<td><a href="javascript:void(0);" id="AddNew" class="AddItem"><i class="i-plus"></i>Add new</a>
</td>
<td><a href="javascript:void(0);" id="AddNew" class="AddOption"><i class="i-plus"></i>Add Options</a>
</td>
</tr>
</table>
おかげで、あなたのフィドルを更新した
、両方の答えは、問題を解決したが、私はそれを作成したとき、私は本当にIDが同じであることを検討していませんでした。 – Matts