2012-01-29 6 views
2

フィールドに[行の追加]ボタンが含まれている表が1つあります。私は他のテーブルからデータを呼び出すためにのonchangeイベントを使用していますので、私はオプションボックスでオプションを選択したときに自動的に(do not need input the value manually). は、その後、私は同じテーブルに行を追加する以前に選択された値を取得し、その後、私はいずれかを選択することができますHTMLの例については、バックボックスオプションでオプションと最初から別の値を取得し、the problem is the values ​​obtained appear in the first box, not in the second box.onchangeイベントのシーケンスID名に基づいて値を取得する方法はありますか?

:私が探していた何

<table id="table"> 
    <tr> 
     <td>No</td> 
     <td>Name</td> 
     <td>Class</td> 
     <td>Point</td> 
     <td>Action</td> 
    </tr> 
    <tr> 
      <td>1</td> 
     <td><select name="name"> 
      <option value="#">&nbsp;</option> 
      <?php 
        opendb(); 
       $query = "SELECT * FROM student"; 
       $result = mysql_query($query); 
       while($data = mysql_fetch_array($result)){ 
        $ID = $data['ID']; 
        $Name = $data['Name']; 
        echo "<option value='$ID'>$Name</option>"; 
       } 
      ?> 
      </select> 
     </td> 
     <td><select name='class' onchange="choosepoint(this);"> 
      <option value="#">&nbsp;</option> 
      <?php 
        opendb(); 
       $query = "SELECT * FROM student2"; 
       $result = mysql_query($query); 
       while($data = mysql_fetch_array($result)){ 
         $ID1 = $data['ID']; 
        $class = $data['Class']; 
        echo "<option value='$ID'>$class</option>"; 
       } 
      ?> 
      </select> 
     </td> 
     <td> 
       <div id="point" name="point"></div> 
      </td> 
      <td><input type="button" value=" + " onClick="addRowToTable();"> | <input type="button" value=" - " onClick="removeRowFromTable();"></td> 
    </tr> 
</table> 

、問題は、私はここで見つける:

function choosepoint(combobox) 
{ 
    var kode = combobox.value; 
    if (!kode) return; 
    xmlhttp.open('get', '../template/get_point.php?kode='+kode, true); 
    xmlhttp.onreadystatechange = function() { 
     if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) 
     { 
      document.getElementById("point").innerHTML = xmlhttp.responseText; 
     } 
     return false; 
    } 
    xmlhttp.send(null); 
} 

ID名「ポイント」は、値が2番目のボックスに表示される「ポイント2」に変更しましたが、最初のボックスの値が欠落している場合。

だから私は、ID名の値が(行を追加したいどのように多く依存)ポイント、1ポイント2、POINT3などであることを取得するためにループを試みました。

function choosepoint(combobox) 
{ 
    var kode = combobox.value; 
    if (!kode) return; 
    xmlhttp.open('get', '../template/get_point.php?kode='+kode, true); 
    xmlhttp.onreadystatechange = function() { 
     if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) 
     { 
      Var tbl = document.getElementById("table"); 
      var r = tbl.length; 
      var i = r; 
      document.getElementById("point"+ i).innerHTML = xmlhttp.responseText; 
     } 
     return false; 
    } 
    xmlhttp.send(null); 
} 

私が持っている結果が nullであるか、値なし、値がポイントであることを取得実行したり、ないことはできません、ポイント2、POINT3など私が作ったすべての誤ったスクリプトはありますか?大きな助けが必要ですm(_ _)m。

ありがとうございました。

更新:これが解決のためです。あなたのコードで

function choosepoint(combobox) 
{ 
    var kode = combobox.value; 
    if (!kode) return; 
    xmlhttp.open('get', '../template/get_point.php?kode='+kode, true); 
    xmlhttp.onreadystatechange = function() { 
     if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) 
     { 
      var tbl = document.getElementById("table"); 
     var r = tbl.rows.length; 
      var add = document.getElementById("point"+r); 

     add.innerHTML = xmlhttp.responseText; 
     } 
     return false; 
    } 
    xmlhttp.send(null); 
} 
+0

あなたの質問をはるかに単純な形式に減らすことはできますか?私はあなたが実際に求めていることに従うことができません。あなたのウェブページで何をしているのか、どのコードが呼び出されているのか、またどのような結果が期待されているのか取得できていないのかを簡単に説明してください。 – jfriend00

+0

@ jfriend00ここでは例を示します(表のフォームに表示されています)。 ませ1ない私は、私はクラスにIIを選択したときにしたい場合は、私は手動で(もちろんのonchange使用してI入力せずに100.00(here the point will appear)に自動的に値をポイントを得るでしょう、名前のためにAAAを選択して、クラスIIを選択します起こる)。 – candies

+0

@ jfriend00そして、私は行を追加したいときに2番の数字が正しいでしょうか?だから2私は名前のBBBを選択し、クラスのIIIを選択し、私はクラスでIIIを選択したとき、私が得るポイントは80.00(here)に表示されます。異なるポイントを持つ2つのデータがあります。 2.Nuh、私の質問と問題はNo.2に含まれる結果ポイントは80.00であり、No.2では正確には表示されませんが、No.1で表示されます。No.1で得られたポイントは100.00 。 どのようにして各データや数字にポイントがあるのですか? – candies

答えて

関連する問題