2016-05-26 13 views
-2

値をonclickにして、シンボル"symbol": +sym+、 に出力したいと考えています。 は私のコードを確認してください。関数内にjs変数を表示する

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 

</head> 
<body> 
<p>click here</p> 

    <!-- TradingView Widget BEGIN --> 
    <script type="text/javascript" src="https://d33t3vvu2t2yu5.cloudfront.net/tv.js"></script> 
    <script type="text/javascript"> 
$(document).ready(function(){  
     $("p").click(function(){ 
      var sym = $(this).val(); 
      alert("alert is working but value is not updating in symbol input"); 
     }); 
    }); 

    new TradingView.widget({ 
    "width": 400, 
    "height": 450, 
    "symbol": +sym+, 
    "interval": "D", 
    "timezone": "Etc/UTC", 
    "theme": "White", 
    "style": "1", 
    "locale": "en", 
    "toolbar_bg": "#f1f3f6", 
    "allow_symbol_change": true, 
    "hideideas": true, 
    "show_popup_button": true, 
    "popup_width": "1000", 
    "popup_height": "650", 
    "no_referral_id": true 
    }); 
    </script> 
    <!-- TradingView Widget END --> 


</body> 
</html> 
+0

apタグに値がないため、次の値を使用できますか? – dman2306

+0

質問を投稿する方法を学ぶ – Amit

+2

ああ、ところで、あなたの変数 "sym"は別のスコープにあり、あなたのウィジェットでそれにアクセスすることはできません。 – Warrior

答えて

2

あなたはこのために、この"symbol": +sym+を変更する必要がまず第一に:"symbol": sym,。達成したいのは、新しい "TreadingView.widget"オブジェクト内の変数 "sym"の値を、段落 "p"をクリックするたびに変えることです。間違っているとします。要素がクリックされるたびにその値を更新する必要があります。そうでなければウィジェットオブジェクトは常に変数 "sym"の元の値を保持します。1) "sym"値を更新してから2)ウィジェットを再作成するか、

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 

</head> 
<body> 
<p>click here</p> 

    <!-- TradingView Widget BEGIN --> 
    <script type="text/javascript" src="https://d33t3vvu2t2yu5.cloudfront.net/tv.js"></script> 
    <script type="text/javascript"> 
$(document).ready(function(){  
     $("p").click(function(){ 
      var sym = $(this).text(); 
      new TradingView.widget({ 
       "width": 400, 
       "height": 450, 
       "symbol": sym, 
       "interval": "D", 
       "timezone": "Etc/UTC", 
       "theme": "White", 
       "style": "1", 
       "locale": "en", 
       "toolbar_bg": "#f1f3f6", 
       "allow_symbol_change": true, 
       "hideideas": true, 
       "show_popup_button": true, 
       "popup_width": "1000", 
       "popup_height": "650", 
       "no_referral_id": true 
      }); 
      alert("alert is working but value is not updating in symbol input"); 
     }); 
    }); 

    </script> 
    <!-- TradingView Widget END --> 


</body> 
</html> 
+0

あなたは私の問題を解決します。神はあなたを祝福します。 – atifaltaf

1

は、あなたがこのことから変更する必要があり、この

 <script type="text/javascript"> 
       var sym = null; 
       $(document).ready(function(){  
       $("p").click(function(){ 
       sym = $(this).text(); 
       alert("alert is working but value is not updating in symbol input"); 
      }); 
     }); 
     setTimeout(function(){ 
    sym = $(this).text(); 
new TradingView.widget({ 
      "width": 400, 
     "height": 450, 
     "symbol": +sym+, 
     "interval": "D", 
     "timezone": "Etc/UTC", 
     "theme": "White", 
     "style": "1", 
      "locale": "en", 
     "toolbar_bg": "#f1f3f6", 
     "allow_symbol_change": true, 
     "hideideas": true, 
     "show_popup_button": true, 
     "popup_width": "1000", 
     "popup_height": "650", 
     "no_referral_id": true 
     });},5000); 

     </script> 
+0

動作しません。実際にはここに問題があります( "symbol":+ sym +)ここに値を出力したいのですが、ここで変数を出力する方法はわかりません。 – atifaltaf

+0

ここで、あなたのsym var値を印刷しますか?ウィジェットのパラメータやアラートで? –

+0

ウィジェットで.. – atifaltaf

2

を試してみてください。

var sym = $(this).html(); 

またはこれに:

これに

var sym = $(this).val(); 

var sym = $(this).text(); 

あなたが取得したいものによっては、 pタグにvalueプロパティが含まれていないことがわかります。

+0

実際に問題があります( "symbol":+ sym +)ここに値を出力したいのですが、ここに変数を出力する方法がわかりません。 – atifaltaf

関連する問題