0

次の関数は、クリック時に画像を含む div を「編集」クラスの各メイン div に追加します。

c.$k クラスの各サブディビジョンにオンクリックで divを挿入する必要があります。c1/c2 クラスのすべてのサブディビジョンには一意の ID があります。

基本的に、一意の IP を持つデバイスを表す各サブ div 内に、rrdtool によって作成されたグラフを表示する必要があります。(サブ div の ID)

つまり、各クラス c.$k div から ID を取得し、それを var y で「ipx」として使用する必要があります。

次に、新しい div class='graph' を各クラス c.$k divに挿入します。したがって、関数の 2 番目のパラメーター (ipx) は関係ないので無視できます。div class='edit' の「子」ID を使用する必要があります。

jquery を使用するのはこれが初めてで、どんな助けも大歓迎です。

function edit_mode(idname,ipx) {
    var x = document.getElementById(idname);
    $(x).toggle( "fade" );
 //   var subdivid = $("#idname").children("div");
    var y = 'http://domain.com/index.php?ip='+ipx;
    $("#"+idname+" img:last-child").remove();
    $("<div class='graph'><img src='"+y+"'></div>").appendTo(x);
};

PHP コード:

 $k=1;
    $t="";
    while($row = mysql_fetch_array($result)){
          if ($row['id'] != $t) {
                if ($t != "") {echo "</div>";}
                echo "<div onclick=\"edit_mode('".$row['idDevice']."','".$row['IP']."')\">".$row['name']."  ".$row['IP'] ."</div><br><div class=\"edit\"  id=\"".$row['idDevice']."\">";
      $t = $row['id'];
      $k = 1;
          }
    echo "<div id=\"".$row['IP']."\" class=\"c".$k."\"><form method=\"post\" action=\"edit.php?idDevice=".$idDevice."\">";
    .................................................................
    echo "</form></div>";
    $k = 1+($k % 2);
    }

私はこれをやった:

function edit_mode(idname) {
    var x = document.getElementById(idname);
    $(x).toggle( "fade" );
    var subdivid = $.map($('#idname > div'), function(child) { return child.id; }); 
    var y = 'http://domain.com/index.php?ip='+subdivid;
    $("#"+idname+" img:last-child").remove(); 
    var el = document.createElement('div');
            el.className="graph";
            el.innerHTML = '<img src='+y+'>' ;
            document.getElementById(subdivid).appendChild(el);

これは、1 つの子を持つ 1 つの親 div に対して機能することを除いて、まさに私が望むことを行っています。問題は次のとおりです。子 (subdivid) を持つ div (idname) の配列を動的に作成したときに、この関数を変更して機能させるにはどうすればよいですか。

ありがとうございました

4

1 に答える 1

0

私が見ることができるものから、2番目のパラメーターedit_modeidclass を持つサブ div でc.$kあるため、画像付きの div を追加するために使用できます

function edit_mode(idname,ipx) {
    var x = document.getElementById(idname);
    $(x).toggle( "fade" );
 //   var subdivid = $("#idname").children("div");
    var y = 'http://domain.com/index.php?ip='+ipx;
    $("#"+idname+" img:last-child").remove();
    $("<div class='graph'><img src='"+y+"'></div>").appendTo('#' + ipx);
};
于 2013-04-29T13:09:09.963 に答える