我在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
的来源与其加载的网页位于同一个域中答案 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对象。