2013-10-22 42 views
0

我有一個表,它的第三列是checkboxe,它的前兩列來自數據庫 我想發送檢查的單詞的wordID:如何獲取wordID並將其發送到另一個php文件

$result = mysql_query("SELECT * FROM words"); 
    echo "<table border='1'> 
     <tr> 
      <th>word</th> 
      <th>meaning</th> 
      <th>checking</th> 
     </tr>"; 
         while($row = mysql_fetch_array($result)) 
             { 
             echo "<tr>"; 
             echo "<td>" . $row['word'] . "</td>"; 
             $idd= $row['id'] ; 
             echo "<td>". "<div class='hiding' style='display:none'>".$row['meaning']."</div>"."</td>"; 
             echo "<td>"; 
            echo "<input class=\"box\" name=\"$idd\" type=\"checkbox\" value=\"\"> "; 
             echo "</td>"; 
             echo "</tr>"; 

             } 
     echo "</table>"; 

,並在我的功能我有這樣的:

function feedback(){ 
      var boxes = document.getElementsByClassName('box'); 
      for(var j = 0; j < boxes.length; j++){ 
       if(boxes[j].checked) { 

         assign=1; 
       } 
       else{ 
         assign=0; 

       } 

       $.ajax({ 
        url: "assigner.php", 
        type: "POST", 
        data: { wordid: wordid, assign: assign} 
       }).done(function(e) { 
        /*alert("word was saved" + e);*/ 
       }); 
      } 
     } 

我不知道我怎麼可以從第一部分獲得的wordID和在第二部分,我說

+0

你是什麼意思?警報部分?只需再次使用'wordid',這是有效的,直到for循環重申 –

+1

相當討厭...如果你有50個複選框,你將會做50個Ajax調用。有很多更好的方法來做這些事情...... –

回答

0

只是用它換一種形式元素在表格之外,如:

<input type="hidden" value="[id]" name="wordid_name" id="worid_id" class="wordid_class"> 

您只需要更換[ID]與該行的ID,然後於JavaScript你可以調用你喜歡的屬性:

var wordid= document.getElementsByClassName('worid_class').value; 
var wordid= document.getElementsById('worid_id').value; 
var wordid= document.getElementsByName('worid_name').value; 

可以使它在結構外部,就在var boxex下方。

我建議你用複選框的值創建一個Javascript對象,然後調用1次到Ajax。

希望它可以幫助你。

相關問題