1

このアコーディオンにはタイトルが 1 つしかなく、ドキュメント名と番号が表示されます。タイトルをクリックすると、アコーディオンが開き、ドキュメントの詳細ページのように表示されます。モバイルアプリにログインする各ユーザーは、ユーザー名に接続されたさまざまな量のドキュメントを持っています...今必要なのは、その1つのアコーディオンを取得して、WebサービスによってロードされたX量のドキュメントをコピーする方法です. 私が使用しているのは次のとおりであるため、javascriptでこれが必要です:-windows phone / HTML5 / CSS / Javascript用のVisual Studio Express。すべてのチュートリアルは、データの新しいものを作成する for ループを示していますが、私はすでに div(アコーディオン) を持っています。必要なのは、それが機能するかどうかを確認するためだけに 10 回ロードしないようにすることだけです。入力フィールド

アクロディオンの HTML

    <div id="AccordionContainer" class="AccordionContainer">
<div onclick="runAccordion(1)">
  <div class="Accordiontitle" onselectstart="return false;">
    <a>
      <input class="AccordionLink" type="button" href="ItemPages.html" id="docname"/>
    </a>
    <br/>
    <a id="POnumber"></a>
  </div>
</div>
<div id="Accordion1Content" class="AccordionContent" style="background-color:white; color:grey;">
  <form>
    <p>
      <label for="create" >Created by :</label>
      <input type="text" style="margin-left:60px;" readonly="readonly" DISABLED="DISABLED" size="22" id="create"/>
    </p>
    <p>
      <label for="createdate" >Created Date :</label>
      <input type="text" style="margin-left:43px;" readonly="readonly" DISABLED="DISABLED" size="22" id="createdate"/>
    </p>
    <p>
      <label for="process" >Process name :</label>
      <input type="text" style="margin-left:36px;" readonly="readonly" DISABLED="DISABLED" size="22" id="process"/>
    </p>
    <p>
      <label for="transtype">Transaction type :</label>
      <input type="text" style="margin-left:20px;" readonly="readonly" DISABLED="DISABLED" size="22" id="transtype"/>
    </p>
    <p>
      <label for="lastact">Last action :</label>
      <input type="text" style="margin-left:61px;" readonly="readonly" DISABLED="DISABLED" size="22" id="lastact"/>
    </p>
    <p>
      <label for="lastuser">Last user :</label>
      <input type="text" style="margin-left:73px;" readonly="readonly" DISABLED="DISABLED" size="22" id="lastuser"/>
    </p>
    <p>
      <label for="lastupd">Last update :</label>
      <input type="text" style="margin-left:55px;" readonly="readonly" DISABLED="DISABLED" size="22" id="lastupd"/>
    </p>
    <p>
      <label for="duration">Duration :</label>
      <input type="text" style="margin-left:78px;" readonly="readonly" DISABLED="DISABLED" size="22" id="duration"/>
    </p>
    <p>
      <label for="saved">Saved :</label>
      <input type="text" style="margin-left:93px;" readonly="readonly" DISABLED="DISABLED" size="22" id="saved"/>
    </p>
    <p>
      <label for="adhoc">Ad hoc user :</label>
      <input type="text" style="margin-left:53px;" readonly="readonly" DISABLED="DISABLED" size="22" id="adhoc"/>
    </p>
  </form>
</div>
</div>

サイトへの適切なリンクでも機能します:) thnx

4

1 に答える 1

1

これが最初のステップだと思います...

/* a helper method */

function getElsByClassName(classname, container){
    var rv = [];
    container = container || document;

    var elems  = container.getElementsByTagName('*')
    if (elems.length){
        for (var x in elems ){
            if (elems[x] && elems[x].className && elems[x].className == classname){
                rv.push(elems[x]);
            }
        }
    }
    return rv; 
}

/* the code */
var accordions = document.getElementById("accordions"),
    accordion = getElsByClassName("AccordionContainer")[0],
    numberOfAcc = 10;

for(var i = 0; i< numberOfAcc; i++){
    var obj = accordion.cloneNode(true),
        btn = getElsByClassName("runAccordionButton", obj)[0];
    /* here you can attach on click handlers and set values using javascript */
   btn.onclick = function() {
      alert('clicked It');
      //here goes the logic
   };

    //setting values
   var creator = getElsByClassName('create',obj)[0]
   creator.value = 'John Do the ' + i + 'th';  


    //add it to the container       
    accordions.appendChild(obj);
}



​
于 2012-10-18T08:52:20.083 に答える