2017-09-18 12 views
1

iframe srcを更新するドロップダウンリストを作成しましたが、ユーザーがdropdown menuから変更しない限り、iframe srcは変更されません。 JavaScriptを使用していますか?リフレッシュ後にドロップダウンメニューからiframe srcを保持する

<div class="row"> 
    <div class="span9"> 
    <ul class="thumbnails"> 
     <li class="span9"> 
     <select onchange="loadFrame(this.value,'starterVID');this.selectedIndex=0;"> 
      <option>Choose A View</option> 
      <option value="yahoo.com>Vid02</option> 
      <option value="youtube.com/">Vid03</option> 
      <option value="google.com">Vid04</option> 
      <option value="google.com">Vid05</option> 
      <option value="google.com">Vid06</option> 
      <option value="google.com">Vid07</option> 
      <option value="google.com">Vid08</option> 
      <option value="google.com">Vid09</option> 
      <option value="google.com">Vid10</option> 
     </select> 
     <div class="flex-video widescreen vimeo"> 
      <iframe name = "starterVID" 
        id = "starterVID" 
        width="870" 
        height="498" 
        src="https://www.youtube.com/" 
        frameborder="0" 
        allowfullscreen> 
      </iframe> 
     </div> 
     </li> 
    </ul> 
    </div> 
</div> 
+0

以前に選択したオプションの値を保存し、それが存在する場合はそれを使用するためにクッキーを使用しますか? – slashsharp

+0

Cookie、ローカルストレージ、またはURLパラメータのいずれかを使用して、現在のユーザー選択を保存します。ページが読み込まれると、それらの場所の1つから値が読み込まれます。最善の方法は、URL自体でプロパティを保持するので、URLパラメータを使用することです。 – Thusitha

+0

@Thusitha私にコード例を教えてもらえますか? – zxb413

答えて

0

ここでは、https://jsfiddle.net/cb10bwkL/2/

loadFrame = function(val, id){ 
 
    localStorage.setItem(id, val); 
 
    $('#' + id).attr('src', val); 
 
} 
 

 
if(typeof localStorage.getItem('starterVID') != 'undefined'){ 
 
    $('select').val(localStorage.getItem('starterVID')); 
 
    $('#starterVID').attr('src', localStorage.getItem('starterVID')) 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row"> 
 
    <div class="span9"> 
 
    <ul class="thumbnails"> 
 
     <li class="span9"> 
 
     <select onchange="loadFrame(this.value,'starterVID');this.selectedIndex=0;"> 
 
      <option>Choose A View</option> 
 
      <option value="yahoo.com">Vid02</option> 
 
      <option value="youtube.com">Vid03</option> 
 
      <option value="google.com">Vid04</option> 
 
     </select> 
 
     <div class="flex-video widescreen vimeo"> 
 
      <iframe name = "starterVID" 
 
        id = "starterVID" 
 
        width="870" 
 
        height="498" 
 
        src="https://www.youtube.com/" 
 
        frameborder="0" 
 
        allowfullscreen> 
 
      </iframe> 
 
     </div> 
 
     </li> 
 
    </ul> 
 
    </div> 
 
</div>

あなたのオプションの値は一意である必要があります解決策を持って行きます。

最後に選択したデータを保存するのにlocalStorageを使用しました。

希望すると、これが役立ちます。

+0

ドロップダウンのテキストは変更され、保持されますが、iframe内のビデオはデフォルトのままです。 – zxb413

+0

私はiframeでオプションを開くこの機能も持っています。<0126関数loadFrame(url、frameId){ \t document.getElementById(frameId).src = url; } – zxb413

+0

@ zxb413私は答えを更新しました( 'JavaScript')、見て、私に知らせてください。 – Shiladitya

関連する問題