私は(もちろん)複数のPHPテンプレートで構成されているWordpressサイトを開発しています。私は問題を抱えている特定のテンプレート部分は、この行で呼び出されます。PHPから呼び出されるjQueryコードは実行されません
<script id="templatehidden">
<?php get_template_part('fragments/calculator', 'row-sa'); ?>
</script>
電卓行-sa.phpの内容は以下のとおりです。
<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 -->
そしてその背後にあるのjQueryコードis
$('.remove-field-sa').click(function() {
$(this).closest('.form-row').remove();
});
私の問題は、PHP内部のimg要素にあります。ページが最初に読み込まれると、そのジョブが実行され、そのページの行が削除されます。しかし、さらに行を追加すると、JavaScriptのコードは.form-content内でもう実行されないようです。何が間違っているかについてのアイデア?
ニース。 **デリゲート機能ではない**も可能ですか?おそらくjqueryが後で更新される場合に備えて。 – izk
@baboizkはい、 'on()'は非推奨ではないことに注意してください。あなたはおそらく 'live()'を考えていますか? – jeroen
はい、それです! * live()*がon()*に置き換えられました。お詫び – izk