Hallo,
ich nutze das Framework cakephp.
In meinen View binde ich ein Element multiple_elements und übergebe Ihr html-Schnipsel
create.ctp
users_create.ctp
multiple_elements.ctp
multiple_elements.js
Nun ist es so, dass wenn ich über den Link "Hinzufügen" einen neuen Block an Formularfelder nachlade der Link "Löschen" für diesen neuen Block nicht funktioniert. Auf bereits geladene Blöcke habe ich keine Probleme. Ich habe es mit bind, on und live probiert. Doch nichts funktioniert.
Gruß, Kalito
ich nutze das Framework cakephp.
In meinen View binde ich ein Element multiple_elements und übergebe Ihr html-Schnipsel
create.ctp
Code:
echo $this->element('libraries/multiple_elements', array(
'dataarray' => array(
'model' => 'user',
'site' => 'forms/users_create',
'data'=>array(
'content' => array()
))
));
users_create.ctp
Code:
<div class="onlyElement" id="user_0">
<?php
echo $this->Form->input('salutation_0', array(
'type'=> 'radio',
'legend' => false,
'lable' => false,
'options' => array('Herr' => 'Herr','Frau' => 'Frau')
));
echo $this->Form->input('firstname_0', array('label'=>false,'placeholder' => 'Vorname'));
echo $this->Form->input('lastname_0', array('label'=>false, 'placeholder' => 'Nachname'));
echo $this->Form->input('email_0', array('label'=>false, 'placeholder' => 'E-Mailadresse'));?>
<div class="minus" id="minus_user_0">Löschen</div>
</div>
multiple_elements.ctp
Code:
<?php
$template = $dataarray['data'];
unset($template['content']);
?>
<script type="text/javascript">
if(typeof templates == "undefined"){
var templates = {};
}
templates.<?php echo $dataarray['model']; ?> = (<?php echo json_encode(array('a' => $this->element($dataarray['site'],array('dataarray'=>$template)))); ?>).a;
</script>
<?php
echo $this->Html->script('individual/multiple_elements');
?>
<div id="<?php echo $dataarray['model']; ?>">
<?php
if($dataarray['data']['content']){
echo $this->element($dataarray['site'],array('dataarray'=>$dataarray['data']));
}
?>
</div>
<div class="plus" id="<?php echo $dataarray['model']; ?>">Hinzufügen</div>
multiple_elements.js
Code:
$(document).ready(function(){
// Code zum Hinzufügen von Blöcken anhand des Templates
$('.onlyElement > div').bind('click', function(){
console.log($(this).attr('id'));
});
});
Nun ist es so, dass wenn ich über den Link "Hinzufügen" einen neuen Block an Formularfelder nachlade der Link "Löschen" für diesen neuen Block nicht funktioniert. Auf bereits geladene Blöcke habe ich keine Probleme. Ich habe es mit bind, on und live probiert. Doch nichts funktioniert.
Gruß, Kalito