2016-05-26 17 views
-2

Ich möchte den Wert onclick erhalten und es in Symbol "symbol": +sym+, drucken. überprüfen mein Code:Drucken Sie eine Variable js innerhalb der Funktion

<!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

Weil ein ap-Tag keinen Wert hat? – dman2306

+0

Erfahren Sie, wie Sie eine Frage stellen – Amit

+2

Oh und übrigens, Ihre Variable "sym" ist in einem anderen Bereich, Sie können nicht in Ihrem Widget zugreifen. – Warrior

Antwort

2

Zunächst einmal müssen Sie diese "symbol": +sym+ ändern, dazu: "symbol": sym,. Wenn Sie den Wert der Variable "sym" innerhalb des neuen "TreadingView.widget" -Objekts ändern wollen, immer wenn Sie auf den Absatz "p" klicken, machen Sie es falsch. Sie müssen diesen Wert jedes Mal aktualisieren, wenn auf das Element geklickt wird, andernfalls enthält das Widgetobjekt immer den ursprünglichen Wert der Variablen "sym". Sie müssen 1) den Wert "sym" aktualisieren und dann 2) das Widget neu erstellen oder aktualisieren. Sie können verwenden:

<!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

lösen Sie mein Problem. Gott segne dich, mein Herr. – atifaltaf

1

versuchen, diese

 <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

Funktioniert nicht. eigentlich ist das problem hier ("symbol": + sym +) ich möchte den wert hier ausdrucken und ich weiß nicht wie man hier eine variable druckt. – atifaltaf

+0

Wo möchten Sie Ihren sym var Wert drucken? in Widget-Parameter oder in Alarm? –

+0

in Widget Sir .. – atifaltaf

2

Sie müssen sich das ändern:

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

dazu:

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

oder diese:

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

je nachdem, was Sie erhalten möchten. Sie können wissen, dass das -Tag keine value-Eigenschaft enthält.

+0

eigentlich Problem ist hier ("Symbol": + sym +) Ich möchte hier den Wert drucken und ich kann nicht eine Variable hier drucken. – atifaltaf

Verwandte Themen