動的に作成されたページのいくつかの作業要素を実行するのに問題があります。
1 つのページで、それぞれ「date-wgbn-id」を持つボタンを作成し、クラス .remPromotor を使用してアクションをトリガーします。
ページに既にあるボタンは通常、アクションを実行しますが、動的に追加された新しいボタンはこれらのアクションをトリガーしません。
ボタンを追加するたびに、動的に電話をかけます。trigger("create") を使用すると、スタイルがボタンに適用されますが、アクションは適用されません。
私のHTML:
<div data-role="content" class="area">
<div class="pagina">
<div data-role="header" data-theme="c"><h2><?php echo $_GET['acao']; ?></h2></div>
<div><a href="acoes.php" data-role="button" data-icon="arrow-l">Voltar para ações</a></div>
<hr>
<div data-role="header" data-theme="e" align="center">
Promotores desta ação:<br>
<span style="font-style: italic; color: red; font-size: .9em; font-weight: normal !important;">Clique para remover</span>
</div>
<!-- lista os promotores -->
<div id="proDentro">
<?php foreach($a->query("select escalas.*, promotores.nome from escalas, promotores where escalas.id_acao = ".$_GET['id']." and promotores.id = escalas.id_promotor order by promotores.nome") as $pro){ ?>
<a href="#" data-role="button" data-icon="minus" data-wgbn-id="<?php echo $pro['id']; ?>" id="pro<?php echo $pro['id']; ?>" class="remPromotor"><?php echo $pro['nome']; ?></a>
<?php } ?>
</div>
<p> </p>
<hr>
<div data-role="header" data-theme="e" align="center">
Promotores fora da ação:<br>
<span style="font-style: italic; color: green; font-size: .9em; font-weight: normal !important;">Clique para remover</span>
</div>
<div id="proFora">
<?php foreach($a->query("select * from promotores where status = 1 order by nome") as $pro){ ?>
<a href="#" data-role="button" data-icon="plus" data-wgbn-id="<?php echo $pro['id']; ?>" data-wgbn-acao="<?php echo $_GET['id']; ?>" id="fora<?php echo $pro['id']; ?>" class="addPromotor"><?php echo $pro['nome']; ?></a>
<?php } ?>
</div>
</div>
</div>
<!-- /content -->
そして、これはこのページの私のjavascriptです:
$(document).delegate("#gerpromotor", "pageinit", function() {
// action that removes the button of the page
$(".remPromotor").click(function(e) {
var id = $(this).attr('data-wgbn-id');
$.get("funcoes.php?opc=delEscala&escala="+id, function(data){
if (data == 1){
$("#pro"+id).remove();
}
});
return false;
});
// action that adds a button to your page
$(".addPromotor").click(function(e) {
var id = $(this).attr('data-wgbn-id');
var acao = $(this).attr('data-wgbn-acao');
$.get("funcoes.php?opc=addEscala&acao="+acao+"&promotor="+id, function(data){
$("#proDentro").append(data).trigger('create');
},'html');
return false;
});
});
ファイルは funcoes.php brm シンプルです:
<?php
// pega os dados do usuario
require_once("Modelo2.php");
$a = new Modelo2();
$opc = $_GET['opc'];
// adiciona o cara na acao
if ($opc == "addEscala"){
$id_acao = $_GET['acao'];
$id_promotor = $_GET['promotor'];
$arr;
$arr['id_acao'] = $id_acao;
$arr['id_promotor'] = $id_promotor;
if ($id = $a->insert("escalas",$arr)){
$tmp = $a->query("select escalas.*, promotores.nome from escalas, promotores where escalas.id = $id and promotores.id = escalas.id_promotor");
$tmp = $tmp[0];
echo '<a href="#" data-role="button" data-icon="minus" data-wgbn-id="'.$id.'" id="pro'.$id.'" class="remPromotor">'.$tmp['nome'].'</a>';
}
}
// remove o cara da acao
if ($opc == "delEscala"){
$id = $_GET['escala'];
if ($a->delete("escalas","id = $id")){
echo 1;
} else {
echo 0;
}
}
?>
基本的に .trigger("create") は新しいボタンのスタイルを設定できますが、クラス .remPromotor にリンクされたアクションをトリガーできません
誰でもこれで私を助けることができますか?