4

HTML にこの選択ボックスがあり、そのページが iframe を介して別のページ (両方とも私の Web サイト) に読み込まれています。選択した値を選択ボックス(iframe内)から取得し、外側に表示できるようにしたいです。ここに私がまとめたコードがありますが、それが正しいかどうかはわかりません:

<script>
$('#iframe').contents().find('#cds').change(function() {
    var selectVal = $(this).val();
    url = 'https://twitter.com/intent/tweet?button_hashtag=stream&text=Just enjoying ' + selectVal + ' on'; 
    $("twitter").attr("id", url);
});
</script>

何かアドバイス?

明確にするために

  • 私の<select>要素はiframe
  • 選択した値を枠外に表示したいiframe
  • のソースは、iframeロード先のページと同じドメインにあります
4

1 に答える 1

1

あなたのHTMLがどのように見えるかはわかりませんが、

$("twitter").attr("id", url);

おそらく次のようになります。

$(".twitter").attr("id", url);

更新: このコードを試してください... iframe も読み込まれたかどうかを検出する必要があります ( demo )

$(function () {
    // define this here because we're changing the ID
    var $twitter = $('#twitter');
    // bind to select inside iframe
    $('#iframe').on('load', function () {
        $(this).contents().find('#cds').change(function () {
            var selectVal = $(this).val();
            url = 'https://twitter.com/intent/tweet?button_hashtag=stream&text=Just enjoying ' + selectVal + ' on';
            $twitter.attr("id", url).text(url);
        }).change(); // trigger change to get initial value
    });
});

また、twitter の ID を変更するので、その jQuery オブジェクトを保存する必要があります。

于 2013-04-14T16:07:11.150 に答える