Ich versuche, eine Kopie eines Auswahlmenüs an das Ende einer Tabelle anzuhängen, wenn eine Auswahl im letzten Auswahlmenü der Liste getroffen wird. Zu diesem Zeitpunkt möchte ich das Verhalten nur auf das letzte Auswahlmenü in der Tabelle anwenden. Der folgende Code fügt die Zeile zur Tabelle hinzu, hebt aber die Bindung der Aktion nicht erfolgreich auf, so dass das erste Auswahlmenü weiterhin das Verhalten anzeigt, auch nachdem die Bindung der Aktion aufgehoben wurde.
Javascript:
var selectRow;
$(document).ready(function() {
selectRow = $('#selectWrapper').html();
rebindLastSelectBox();
});
function rebindLastSelectBox() {
$('#selectList:last').change(function(e) {
$(this).unbind('change');
$('table').append("<tr id='selectWrapper'>" + selectRow + "</tr>");
rebindLastSelectBox();
});
};
HTML:
<head>
<title>JS Test</title>
<script src="./js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="./js/application.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<table>
<tr>
<td>Title</td><td><input type="text" name="some_name" value="" id="some_name"></td>
</tr>
<tr id='selectWrapper'>
<td>Items</td><td><select name="items[]" id="selectList" size="1">
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select></td>
</tr>
</table>
</body>
Für alle Vorschläge sind wir dankbar!
Adam