如何从Iframe中的选择框中获取所选值,并将其显示在外部?

时间:2013-04-14 15:55:17

标签: javascript jquery html select iframe

我在HTML中有这个选择框,并且它所在的页面正在通过iframe加载到另一个页面(在我的网站上)。我希望能够从选择框(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的来源与其加载的网页位于同一个域中

1 个答案:

答案 0 :(得分:2)

我不确定您的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对象。