2017-09-03 11 views
1

ダッシュボードで表示するデータを選択するための選択ボックスがあります。変更イベントでjquery投稿をトリガーする

これはHTMLです:

<div class="card-header"> 
    <div class="item-input"> 
     <select id="balances"> 
      <option value="tb">Trading Balance</option> 
      <option value="mt">Managed Trading</option> 
      <option value="mm">Managed Mining</option> 
     </select> 
    </div> 
    <span class="traders">Traders - <b class="gg">3000</b></span> 
</div> 

これはjQueryのです:

選択で
var email = window.localStorage.getItem("email"); 
var url = 'http://example.world/mobile/index.php/welcome/trading_balance'; 
$('#balances').on('change', function() { 
    var tbalances = this.value; 

    if(tbalances === 'tb'){ 
    var url = 'http://example.world/mobile/index.php/welcome/trading_balance'; 
    } 
    if(tbalances === 'mt'){ 
    var url = 'http://example.world/mobile/index.php/welcome/managed_trading_balance'; 
    } 
    if(tbalances === 'mm'){ 
    var url = 'http://example.world/mobile/index.php/welcome/managed_mining_balance'; 
    } 
}); 
//Get Trading Balance 
setInterval(function() { 
$.ajax({ 
     url: url, 
     type: 'POST', 
     data: email, 
     crossOrigin: true, 
     async: true, 
     success: function (data) { 
     $('.jbalance').html(data); 
     }, 
     error: function (data, textStatus, jqXHR) { 
     if(typeof data === 'object'){ 
     var data = 'No Internet Connection Detected'; 
     }  
     }, 
     cache: false, 
     contentType: false, 
     processData: false 
    }); 
}, 5 * 1000); 

、url変数がまだ残っています:

var url = 'http://example.world/mobile/index.php/welcome/trading_balance';

私がしようとしています選択したオプションのURLをjQueryのajax投稿要求で使用するそれは起こっていない。

jquery ajax投稿要求で選択したURLを使用するにはどうすればよいですか?あなたがしているので

答えて

0

たびにvar url使用して、URLと呼ばれる別のローカル変数を再作成するので、外側の変数URLはこれまでに変更し、使用しない場合、他の-場合、ここソリューションです代わりに、複数の場合:

if(tbalances === 'tb'){ 
    // no var, just change the already created variable url 
    url = 'http://example.world/mobile/index.php/welcome/trading_balance'; 
} 
else if(tbalances === 'mt'){ 
    // no var, just change the already created variable url 
    url = 'http://example.world/mobile/index.php/welcome/managed_trading_balance'; 
} 
else if(tbalances === 'mm'){ 
    // no var, just change the already created variable url 
    url = 'http://example.world/mobile/index.php/welcome/managed_mining_balance'; 
} 
0

これを試してみてください:

var url = 'http://example.world/mobile/index.php/welcome/trading_balance'; 
 
$('#balances').on('change', function() { 
 
\t var tbalances = $('#balances').val(); //**change 
 

 
\t if(tbalances.indexOf("tb") >= 0){ //**change 
 
\t \t var url = 'http://example.world/mobile/index.php/welcome/trading_balance'; 
 
\t \t alert(url); 
 
\t } 
 
\t if(tbalances.indexOf("mt") >= 0){ //**change 
 
\t \t var url = 'http://example.world/mobile/index.php/welcome/managed_trading_balance'; 
 
\t \t alert(url); 
 
\t } 
 
\t if(tbalances.indexOf("mm") >= 0){ //**change 
 
\t \t var url = 'http://example.world/mobile/index.php/welcome/managed_mining_balance'; 
 
\t \t alert(url); 
 
\t } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="card-header"> 
 
    <div class="item-input"> 
 
     <select id="balances"> 
 
     \t <option value="">-- Choose an Option --</option> 
 
      <option value="tb">Trading Balance</option> 
 
      <option value="mt">Managed Trading</option> 
 
      <option value="mm">Managed Mining</option> 
 
     </select> 
 
    </div><span class="traders">Traders - <b class="gg">3000</b></span> 
 
</div>

関連する問題