0

wordpress サイトで Flexible Map プラグインを使用しています。プラグインには、ユーザーが「送信元アドレス」を入力して、地図に表示されている場所への道順を取得できるフォームがあります。フォームには ID またはクラスがありません (追加できません)。

フォームが送信されたらユーザーが道順を印刷できるようにしたいのですが、ユーザーが送信ボタンを押してから道順が表示されるまで、印刷ボタンを表示したくありません。

道順は表で表示されるので、JQueryを使って表が表示されたらprint divを表示すると言うことができると思っていました。

私はそれがこのようなものだと思っていますが、テーブルに基づいてフォーマットする方法がわかりません(フォームにはIDがないため):

jQuery(document).ready(function($) {
 $('#idOfYourForm').on("submit", function () {
$('#print').show();
});
});

どんな提案でも大歓迎です!

編集ルート送信ボタンが押されると生成されるコードは次のとおりです。

<div id="my-dir-div" style="float: left; direction: ltr;">
<form>
<p>
<input type="text" name="from">
<input type="submit" value="Get Directions">
</p>
</form>
<div jstcache="0">
<div class="adp-warnbox" jsdisplay="warnings.length" jstcache="1" style="display: none;">
<div class="warnbox-c2" jstcache="0"></div>
<div class="warnbox-c1" jstcache="0"></div>
<div class="warnbox-content" jscontent="$this" jsselect="warnings" jstcache="5"></div>
<div class="warnbox-c1" jstcache="0"></div>
<div class="warnbox-c2" jstcache="0"></div>
</div>
<div jseval="setupPanelStep(this, $waypointIndex)" jsvalues="$waypointIndex:0;" jsselect="legs[0].start_address" jstcache="2">
<table id="adp-placemark" class="adp-placemark" jstcache="0">
<tbody jstcache="0">
<tr jstcache="0">
<td jstcache="0">
<img jsvalues=".src:markerIconPaths[$waypointIndex]" jstcache="14" src="http://maps.gstatic.com/mapfiles/markers2/icon_greenA.png">
</td>
<td class="adp-text" jscontent="$this" jstcache="12">211 South Elson Street, Kirksville, MO 63501, USA</td>
</tr>
</tbody>
</table>
</div>
<div jsvalues="$legIndex:$index;" jsselect="legs" jstcache="3" jsinstance="*0">
<div class="adp-legal" jscontent="copyrights" jstcache="4">Map data ©2013 Google</div>
</div>
</div>
<div id="print">
<input id="print" class="printbtn" type="button" value="Print Directions" onclick="return pop_print()">
<script type="text/javascript">
function pop_print(){
w=window.open(null, 'Print_Page', 'scrollbars=yes');
w.document.write(jQuery('div#my-dir-div').html());
w.document.close();
w.print();
}
</script>
</div>
4

1 に答える 1

0

これを試すことができると思います(IDadp-placemarkを持つテーブルがページで利用可能な場合にのみ表示します)

$(function(){
    if($('#my-dir-div table#adp-placemark').length) $('#print').show();
});

それとも、これ

$(function(){
    if($('#my-dir-div table#adp-placemark td.adp-text').length) $('#print').show();
});
于 2013-05-02T21:49:17.520 に答える