Yii Framework Forum: Wie Rufe Ich Über Buttons Jqplot Funktionen Auf? Id Passt Yii Nicht - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Wie Rufe Ich Über Buttons Jqplot Funktionen Auf? Id Passt Yii Nicht jQuery jqPlot einfacher Reset Zoom Button defekt Rate Topic: -----

#1 User is offline   mi.sarah 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 50
  • Joined: 07-November 13
  • Location:Germany

Posted 17 March 2014 - 05:10 AM

Hallo zusammen,

ich habe die jqPlot Extension im Einsatz um Diagramme darzustellen. Dazu möchte ich über verschiedene Buttons die Eigenschaften des Diagramms verändern. Es stockt bei mir in dem Aufruf des richtigen Objektes.

Mein Ziel: Button mit Reset Zoom Funktion

In meiner View habe ich bereits versucht die id des Diagramms zu überschreiben, was leider nicht gegriffen hat.
Meine View:
$this->widget('ext.jqplot.JqplotGraphWidget',
                            array(
                                'htmlOptions'=>array(
                                       'style'=>'width:800px;height:500px;margin:10px 0px 10px 20px;',
                                       'id'=>'myPlot',
                                ),...

<button type="button" value="reset" onclick="myPlot.resetZoom();" name="resetPlotZoom">Reset Zoom</button>


Der Button myPlot.resetZoom() wirft folgende Warnung zurück:
ReferenceError: myPlot is not defined


Yii generiert irgendwie noch selbst die id für das Diagramm und ich bin noch nicht dahinter gekommen welche diese wäre. Der div-Container im HTML-Code hat eine id=yw0 selbst damit funktioniert es nicht. Folgende Versuche führten auch ins Leere:
<button type="button" value="reset" onclick="myPlot.resetZoom();" name="resetPlotZoom">Reset Zoom</button>
<button type="button" value="reset" onclick="yw0.resetZoom();" name="resetPlotZoom">Reset Zoom</button>
<button type="button" value="reset" onclick="yw0.jqplot-target.resetZoom();" name="resetPlotZoom">Reset Zoom</button>
<button type="button" value="reset" onclick="jqplot-target.resetZoom();" name="resetPlotZoom">Reset Zoom</button>
<button type="button" value="reset" onclick="canvas.resetZoom();" name="resetPlotZoom">Reset Zoom</button>
<button type="button" value="reset" onclick="canvas.jqplot-event-canvas.resetZoom();" name="resetPlotZoom">Reset Zoom</button>


Der Button yw0.resetZoom() wirft folgende Warnung zurück:
TypeError: yw0.resetZoom is not a function


Würde das ganze in einer einfachen Website stehen funktioniert es so:
<button onclick="plot1.resetZoom();" type="button" value="reset"></button>

mit
var plot1 = $.jqplot('chart1', [goog], { ...

0

#2 User is offline   mi.sarah 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 50
  • Joined: 07-November 13
  • Location:Germany

Posted 19 March 2014 - 03:51 AM

Nun, alles ist noch aktuell, kann nicht aufs jqplot diagramm zugreifen.
Hier ist die Funktion zur Registrierung des jQuery-Skripts.
public function run(){
		$id=$this->getId();
		$this->htmlOptions['id']=$id;        

		echo CHtml::openTag($this->tagName,$this->htmlOptions);
		echo CHtml::closeTag($this->tagName);

		$plotdata=CJavaScript::encode($this->data);
		$flotoptions=CJavaScript::encode($this->options);
		
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"$.jqplot('$id', $plotdata, $flotoptions);");
	}

0

#3 User is offline   mi.sarah 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 50
  • Joined: 07-November 13
  • Location:Germany

Posted 19 March 2014 - 05:21 AM

Und ich nochmals, eine echo Ausgabe über Yii::app()->getClientScript() liefert das ganze Skript, mich interessiert wie man es ansprechen kann.

["scripts"]=>
  array(1) {
    [4]=>
    array(1) {
      ["JqplotGraphWidget#yw0"]=>
      string(1399) "$.jqplot('yw0', ...


Was entspricht dem Fragezeichen

? = $.jqplot('yw0', ...

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users