Hi
ich wende mich an euch vielleicht könnt ihr mir weiter helfen. Ich bin dabei ein dynamisches Formular zu basteln, ich bin kein Profi was JavaScript angeht und von daher habe ich mir nach Legoprinzip dieses dynamisches Formular erstellt:

Soweit klappt alles gut bis auf in "Inviduvidual Settings".
Normalerweise ist dort nur eine Zeile drin anschließend kann ich dynamisch weitere Zeilen hinzufügen.
So jetzt kommt das Problem in der ersten Zeile was von Anfang an da ist funktioniert das DateTimePicker Script für das Auswahl des Datum aber ab der 2 geht es nicht mehr.

Da stehe ich jetzt etwas auf dem Schlauch und komme nicht vorran beide Elemente sind gleich von classen her warum geht das Script bei dem ersten und bei dem zweitem nicht?
Hier der Code ist ein Django web framework Projekt:
Die HTML Datei:
Hier das Script:
Also ich vermutte es liegt an Javascript es ist noch nicht ganz fertig.
Ich hoffe ihr könnt mir einen Tipp geben woran das liegt. ;)
Gruß
Igi
ich wende mich an euch vielleicht könnt ihr mir weiter helfen. Ich bin dabei ein dynamisches Formular zu basteln, ich bin kein Profi was JavaScript angeht und von daher habe ich mir nach Legoprinzip dieses dynamisches Formular erstellt:

Soweit klappt alles gut bis auf in "Inviduvidual Settings".
Normalerweise ist dort nur eine Zeile drin anschließend kann ich dynamisch weitere Zeilen hinzufügen.
So jetzt kommt das Problem in der ersten Zeile was von Anfang an da ist funktioniert das DateTimePicker Script für das Auswahl des Datum aber ab der 2 geht es nicht mehr.

Da stehe ich jetzt etwas auf dem Schlauch und komme nicht vorran beide Elemente sind gleich von classen her warum geht das Script bei dem ersten und bei dem zweitem nicht?
Hier der Code ist ein Django web framework Projekt:
Die HTML Datei:
HTML:
{% extends "ps/base.html" %}
{% block title %}
Power Settings
{% endblock %}
{% block head %}
<!-- Script for the Checkbox -->
<script type="text/javascript" src="/static/ps/js/jquery-1.11.3.min.js"></script>
<!-- Script for DateTimepicker -->
<script src="/static/ps/js/jquery.js"></script>
<script src="/static/ps/js/jquery.datetimepicker.js"></script>
<!-- Scripts for power settings -->
<script type="text/javascript" src="/static/ps/js/power_settings.js"></script>
<!-- CSS for the DateTimepicker -->
<link rel="stylesheet" type="text/css" href="/static/ps/css/jquery.datetimepicker.css"/ >
{% endblock %}
{% block content %}
<h1>Power Settings View</h1>
<form action="/ps/save_change_settings/" method="post">
{% csrf_token %}
{{ pc_settings_form.as_p }}
<div id="individual_settings">
<fieldset>
<legend>
Individual settings
</legend>
<table id="tableIndividualSettings">
<thead>
<tr>
<th width = 110>From</th>
<th width = 110>To</th>
<th width = 55>Enable</th>
<th width = 110>Power on</th>
<th width = 110>Power off</th>
<th width = 395>Comment</th>
<th >Delete</th>
</tr>
</thead>
<tbody>
<tr>
</tr>
</tbody>
</table>
<div class="item individual_sttings_fieldset">
{{ individual_settings_formset.management_form }}
{% for form in individual_settings_formset.forms %}
{{ form }}
{% endfor %}
<input type="button" class="delete checkbox_power_save" href="#" value="x" />
</div>
<br>
<input id="add" href="#" type="button" class= "checkbox_power_save" value="+ individual Setting" />
</fieldset>
</div>
<div id="timecontainer_working_days">
<fieldset>
<legend>
Working Day Settings
</legend>
<!-- Timepicker -->
{{ working_day_form.as_table}}
</fieldset>
</div>
<div id="timecontainer_closing_days">
<fieldset>
<legend>
Closing Day Settings
</legend>
<!-- Timepicker -->
{{ closing_day_form }}
</fieldset>
</div>
<p>
<input type="submit" value="Save/Change Settings" />
</p>
</form>
<script type="text/javascript">
$('.timepicker').datetimepicker({
datepicker:false,
format:'g:i a',
step:15,
});
$('.datepicker').datetimepicker({
timepicker:false,
format:'Y-m-d',
dayOfWeekStart: '1',
});
</script>
{% endblock %}
Hier das Script:
Code:
$(document).ready(function () {
// At first the script for enable/disable the Power Controll Settings Form
// This function is for enable/disable the Power Controll Settings Form
$("input[name='enable_power_control']").click(function(){
if ($(this).is(':checked')) {
$('input.checkbox_power_save').attr("disabled", false);
$('textarea.checkbox_power_save').attr("disabled", false);
$('select.checkbox_power_save').attr("disabled", false);
}
else if ($(this).not(':checked')) {
$('input.checkbox_power_save').attr("disabled", true);
$('textarea.checkbox_power_save').attr("disabled", true);
$('select.checkbox_power_save').attr("disabled", true);
}
});
function activateDeactivateTime(){
//var test = $(el, prefix, ndx).click()
var id_regex = new RegExp('(' + prefix + '-\\d+-)');
//print(id_regex);
if ($(this).is(':checked')) {
$('#id_form-0-power_on').attr("disabled", false);
}
else if ($(this).not(':checked')) {
$('#id_form-0-power_on').attr("disabled", true);
}
};
// This function is for enable/disable the Power Controll times in the individual settings
$("input[name='form-0-enable_power_off']").click(function(){
if ($(this).is(':checked')) {
$('#id_form-0-power_off').attr("disabled", false);
}
else if ($(this).not(':checked')) {
$('#id_form-0-power_off').attr("disabled", true);
}
});
// Now the script for add and remove individual settings.
// Code adapted from http://djangosnippets.org/snippets/1389/
function updateElementIndex(el, prefix, ndx) {
var id_regex = new RegExp('(' + prefix + '-\\d+-)');
var replacement = prefix + '-' + ndx + '-';
if ($(el).attr("for"))
$(el).attr("for", $(el).attr("for").replace(id_regex,
replacement));
if (el.id)
el.id = el.id.replace(id_regex, replacement);
if (el.name)
el.name = el.name.replace(id_regex, replacement);
}
function deleteForm(btn, prefix) {
var formCount = parseInt($('#id_' + prefix + '-TOTAL_FORMS').val());
if (formCount > 1) {
// Delete the item/form
$(btn).parents('.item').remove();
var forms = $('.item'); // Get all the forms
// Update the total number of forms (1 less than before)
$('#id_' + prefix + '-TOTAL_FORMS').val(forms.length);
var i = 0;
// Go through the forms and set their indices, names and IDs
for (formCount = forms.length; i < formCount; i++) {
$(forms.get(i)).children().children().each(function () {
updateElementIndex(this, prefix, i);
});
}
} // End if
else {
alert("You have to enter at least one setting!");
}
return false;
}
function addForm(btn, prefix) {
var formCount = parseInt($('#id_' + prefix + '-TOTAL_FORMS').val());
// You can only submit a maximum of 10 individual settings
if (formCount < 10) {
// Clone a form (without event handlers) from the first form
var row = $(".item:first").clone(false).get(0);
// Insert it after the last form
$(row).removeAttr('id').hide().insertAfter(".item:last").slideDown(300);
// Remove the bits we don't want in the new row/form
// e.g. error messages
$(".errorlist", row).remove();
$(row).children().removeClass('error');
// Relabel/rename all the relevant bits
$(row).children().children().each(function () {
updateElementIndex(this, prefix, formCount);
if ($(this).attr('type') == 'text')
$(this).val('');
});
// Add an event handler for the delete item/form link
$(row).find('.delete').click(function () {
return deleteForm(this, prefix);
});
// Update the total form count
$('#id_' + prefix + '-TOTAL_FORMS').val(formCount + 1);
} // End if
else {
alert("Sorry, you can only enter a maximum of ten settings.");
}
return false;
}
// Register the click event handlers
$("#add").click(function () {
return addForm(this, 'form');
});
$(".delete").click(function () {
return deleteForm(this, 'form');
});
});
Also ich vermutte es liegt an Javascript es ist noch nicht ganz fertig.
Ich hoffe ihr könnt mir einen Tipp geben woran das liegt. ;)
Gruß
Igi