2017-08-06 25 views
0

チェックボックスの値を使用して進捗セクションを追跡したいと思います。だから、どのように動作するのは簡単です。 1ページと2ページの2ページがあります。 1ページにはいくつかのチェックボックスがあり、2ページには1つのプログレスバーがあります。ユーザーがページ1のチェックボックスをクリックすると、別のページからプログレスバーの値を大きくする必要があります。しかし、私は2ページでこれを行う方法を知らない。私は1ページだけで試しました。ここチェックボックスの値を使用して進行状況バーを追跡する方法

jQuery(document).ready(function() { 
 
    jQuery('.progressbar_chkbox').on('click', function() { 
 
    var currValue = 0; 
 

 
    jQuery(".progressbar_chkbox:checked").each(function() { 
 
\t currValue += parseInt($(this).val()); 
 
    }); 
 

 
currValue = Math.min(currValue, 100); 
 

 
jQuery('#progress-bar').css('width', currValue + '%').attr('aria-valuenow',  
 
    currValue); 
 
    }); 
 
     });
 <script 
 
    src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
    </script> 
 
    <!-- Begin checkboxes --> 
 
    <div class="panelBody" id="panelBody1"> 
 

 
    <input id="input1" class="progressbar_chkbox videoChecks" 
 
    type="checkbox" name="completed1" value="20"> 
 
    <input id="input2" class="progressbar_chkbox videoChecks" 
 
    type="checkbox" name="completed2" value="20"> 
 
    <input id="input3" class="progressbar_chkbox videoChecks" 
 
    type="checkbox" name="completed3" value="20"> 
 
    <input id="input4" class="progressbar_chkbox videoChecks" type="checkbox" 
 
    name="completed4" value="20"> 
 
    <input id="input5" class="progressbar_chkbox videoChecks" 
 
    type="checkbox" name="completed5" value="20"> 
 
    
 
    </div> 
 

 
     
 
     <div class="progress"> 
 
     <div id="progress-bar" class="progress-bar progress-bar-success" 
 
     role="progressbar" 
 
     aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"> 
 
     </div> 
 
    </div>

+0

私はそれがうまくいくと思ういけないのlocalStorage –

+0

番号を使用しています。私はセッションしようと思います。しかし、私はどのようにページから別のチェックボックスの値を送信することを理解していません –

+0

"セッション"は通常、サーバー側のストレージに使用されている、あなたはPHPで実装することができます同じJavaScriptコードを保持します。一方、localStorageはクライアント側のストレージですが、なぜ動作しないのかわかりません - https://developer.mozilla.org/en/docs/Web/API/Window/localStorage –

答えて

0

のlocalStorageとexemple:ここではコードです。 https://jsfiddle.net/3kg17kg8/2/

$(function() { 
 

 
    $('.progressbar_chkbox').click(function() { 
 
    
 
    \t // Page 1 
 
    \t var progress = $(this).data('progress'); 
 
    
 
\t sessionStorage.setItem("progress", progress) 
 
    
 
     
 
     // Page 2 
 
    \t var progress = sessionStorage.getItem("progress"); 
 
    
 
     $('#avancement').val(progress); 
 
    
 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    
 
    <!-- Page 1 --> 
 
    <input class="progressbar_chkbox" type="checkbox" data-progress="20"> 
 
    <input class="progressbar_chkbox" type="checkbox" data-progress="40"> 
 
    <input class="progressbar_chkbox" type="checkbox" data-progress="60"> 
 
    <input class="progressbar_chkbox" type="checkbox" data-progress="80"> 
 
     
 
    <!-- Page 2 --> 
 
    <p><progress id="avancement" value="0" max="100"></progress></p>

+0

あなたのコードエラー –

+0

はいはい、フィドル(編集済み)を試してみてください。コードスニペットはlocalStorageを使用できません – mchev

+0

Ok thanx。このローカルストレージがどのように機能するか教えてください。 –

関連する問題