Ich entwickle eine Wordpress-Website, die (natürlich) besteht aus mehreren PHP-Vorlagen. Die besondere Vorlage Fragment ich Probleme habe mit dieser Linie genannt wird:jQuery-Code von PHP aufgerufen wird nicht ausgeführt
<script id="templatehidden">
<?php get_template_part('fragments/calculator', 'row-sa'); ?>
</script>
und die Inhalte der Rechner-Reihe-sa.php sind:
<div class="form-row pricingrow select-multiple">
<div class="form-controls">
<img class="remove-field-sa" style="float: left; margin-right: 30px;" src="http://45.32.89.214/wp-content/uploads/2016/04/minus.png">
<i style="margin-left: 50px;" class="cardinal"></i>
<select name="field-followers[]" class="select followerselect">
<?php foreach ($options as $option) : ?>
<option value="<?php echo $option[ 'value' ] ?>"><?php echo $option[ 'label' ] ?></option>
<?php endforeach; ?>
</select>
<b class="fa fa-caret-down" aria-hidden="true" style="color: #747474";></b>
<span class="acctprice"></span>
</div><!-- /.form-controls -->
Und der jQuery-Code dahinter ist
$('.remove-field-sa').click(function() {
$(this).closest('.form-row').remove();
});
Mein Problem ist mit dem Element img innerhalb der PHP. Wenn die Seite zum ersten Mal geladen wird, führt sie ihren Job aus und entfernt die Zeile, in der sie sich befindet. Nachdem ich jedoch weitere Zeilen hinzugefügt habe, scheint kein JavaScript-Code mehr in .form-Inhalten ausgeführt zu werden. Irgendwelche Ideen, was falsch ist?
Nett. Ist die ** Delegiertenfunktion ** auch nicht möglich? vielleicht nur für den Fall, dass die Jquery später aktualisiert wird. – izk
@baboizk Ja, aber beachte, dass 'on()' nicht veraltet ist. Denkst du vielleicht an 'live()'? – jeroen
Ja, das ist es! * live() * wurde durch * on() * ersetzt. Entschuldigung – izk