特定のページからダイアログを開き、ダイナミックデータをダイアログにロードすることを検討しています。jQuery Mobile動的にダイアログボックスにhtmlを追加する方法
メインページには、クリックするとそのリンクに関する詳細情報が表示されます。私はそのリンクのために持っているすべてのデータがメインページに含まれています。どういうわけか、ダイアログが開くときにそのダイアログが設定されるように、ダイアログを割り当てたいと思います。
私はこれまでのところ、このような何かを試してみた:
<?php foreach($offers as $offer) : ?>
<a href="#" data-rel="dialog" data-icon="info" data-role="button" data-desc="<?php echo $offer->{'offer_description'}; ?>" class="offer" id="offer-<?php echo $offer->{'offer_id'}; ?>"><?php echo $offer->{'offer_name'}; ?></a>
<?php endforeach; ?>
は、それから私は、リンクのクリックをキャッチし、ダイアログに「データ-DESC」メタをロードするイベントキャッチャーを持っているが、これはそうではありません作業。
$('.offer').live('click', function(){
var data = $(this).attr('data-desc');
$("#data-desc").html(data);
$("#dialog-offer").dialog("open");
return false;
});
<div data-role="content" id="dialog-offer">
<p class="data-desc"></p>
</div>
私はこれをjQMで行う方法の例を探していました。これは一般的にjQMの基本的な必要性であり、私は例が見つからないことに驚いています。誰かが私を正しい方向に向けることができますか?助けてくれてありがとう。
答えてくれてありがとうございますが、fiddleやlocalhost(jQM 1.0b1とjQ 1.6.1)で動作するような例は得られません。あなたが見つけたそれらのエラーは、私がこのことに非常に不満を持ち、多くの変更を加えたが、無駄に感謝した結果です。 – Martin
あなたはフィドルでそれを実行するとどうなりますか? – Jay
JSFiddleを編集したことがありますか?他の人がそれを編集できるかどうかは分かりません。ダイアログページのdiv idが 'id = 'dialog-offer''から' id = '#dialog-offer''に変更されたため、これは壊れている可能性があります。このフィドルは、あなたのアンカータグ( "This is desc")の中の 'data-desc'のものを取ってダイアログに入れます。ダイアログが正しく表示されます。 http://jsfiddle.net/PBb3h/5/ – Jay