2016-07-19 59 views
0

我已經使用ajax(xmlhttp)爲我的表做過濾器。以下是我的select2.php代碼,這是我從數據庫中獲取表的php代碼。如何存儲單擊表格單元格的變量並將其轉移到另一個表單?

<?php 
    $connect = mysqli_connect("localhost", "root", "","test1"); 
    $q= $_GET['q']; 

    $v= $_GET['v']; 



    $output = "<table border='5' id='info' align = 'center'> 
       <tr> 
       <th><Font SIZE=5>Name</th> 
       <th><Font SIZE=5>Number</th> 
       <th><Font SIZE=5>Status</th> 
       </tr>"; 

    if($v == "" && $q == "") 
    { 

     $sql = "SELECT Name, Number, Status FROM particulars"; 
     $result = mysqli_query($connect, $sql); 
     while($row= mysqli_fetch_array($result)) 
     { 
      $name = $row['Name']; 
      $number = $row['Number']; 
      $status = $row['Status']; 

      $output .= "<tr height='50'> <td value='$name' class='crmname'>$name</td>" 
        . "<td height='50'>$number</td>" 
        . "<td height='50'>$status</td>" 
        . "</tr>"; 
     } 
    } 

    else 
    { 
     if($q == "") 
     { 
      $sql = "SELECT Name, Number, Status FROM particulars WHERE Name LIKE '%$v%'"; 
     } 
     else 
     { 

      $sql = "SELECT Name, Number, Status FROM particulars where Name like '%$v%' and status = '$q'"; 

     } 
       and Status = '$q'" 


     $result = mysqli_query($connect, $sql); 
     while($row= mysqli_fetch_array($result)) 
     { 

      $name = $row['Name']; 
      $number = $row['Number']; 
      $status = $row['Status']; 

      $output .= "<tr height='50'> <td value='$name' class='crmname'>$name</td>" 
        . "<td height='50'>$number</td>" 
        . "<td height='50'>$status</td>" 
        . "</tr>"; 
     } 

    } 

    $output.="</table>"; 
    echo $output; 
    mysqli_close($connect); 
    ?> 

接下來是我的index.php表單,它將顯示ajax函數。

<script> 
     function crmsearch(strings) 
     { 
      var b = strings;  
      var c = document.getElementById("status"); 
      var a = c.options[c.selectedIndex].text; 



      if(b == null || b == "") 
      { 
       b = ""; 
      } 

      if (window.XMLHttpRequest) 
      { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
       var xmlhttp = new XMLHttpRequest(); 
      } 
      else 
      { 
     // code for IE6, IE5 
       var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange = function() 
      { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
       { 
        document.getElementById("inputtable").innerHTML = xmlhttp.responseText; 

       } 
      }; 

      xmlhttp.open("GET","select2.php?q="+a+"&v="+b,true); 
      xmlhttp.send(); 
     } 
     </script> 

這些都是我的文本過濾器和下拉框實時搜索HTML代碼
CRM

  <input type="text" name="search_text" id ="search_text" style="float: right" placeholder="Name" onkeyup="crmsearch(this.value)" autocomplete="off"> 

      <select name='status' id='status' onchange="crmsearch(search_text.value)"> 
       <option value=""></option> 
       <option value="Interested">Interested</option> 
       <option value="Not Interested">Not Interested</option> 
      </select> 
      <span style="float: right; margin-right: 15px" class ="input-group-addon">Search</span> 
      <br> 
     </div> 

    </div> 

目前我的所有代碼,除了我下面的代碼,試圖點擊工作表(名稱)的第一列並獲取我單擊的單元格的名稱。例如,如果我點擊'Winson',我會將'Winson'存儲到一個變量中並將其發送給另一個表單。我嘗試了以下代碼,但在vail中。

<script> 
var name; 
     $(document).ready(function() 
     { 

     $('#info tr .crmname').click(function() 
     { 

      name = $(this).text(); 
      alert(name); 
      window.location = 'CV.php?name=' + name; 



     }); 
     }); 
</script> 

預先感謝您:)

+1

哇,這是相當古老的:'//代碼爲IE6,IE5' –

+0

@IvankaTodorova什麼是IE6,IE5? – Timothy

+1

@Timothy古代版本的Internet Explorer。這是偉大的圖坦卡蒙在他的時代使用的瀏覽器。 –

回答

0

您使用的是相同的元素ID爲每一行。這會導致DOM混淆,因爲該ID應該是唯一的。您#crmname更改爲一類,然後你可以用這樣一個選擇:

$('#info tr.crmname').click(function() 

您還返回TR元素的文本時,你應該返回與名稱的第一個TD的文本。所以,把一類第一TR一樣。名稱,所以你可以在你的功能做到這一點:

name = $('.name', this).text(); 

編輯: 如果你想在TD元素上的點擊然後把crmname班上有,但不是作爲一個如我在評論中提到的那樣。所以這樣做:

$('#info tr .crmname').click(function() 

二,你的功能是否可以工作?你可以只添加一個警報作爲你的函數的第一部分,以確保它的工作?所以:

$('#info tr .crmname').click(function() 
{ 
    alert('debug'); 
}); 
+0

我已經意識到,我把錯誤地爲crmname的id。我已經嘗試過使用類的方法,但它無法工作。目前,我已將ID更改爲​​。但我的表格單元格仍然不可點擊 – Samuel

+0

該標識不應該在TD上。你有HTML和多個TD元素都具有相同的ID。 jQuery如何知道你的意思是什麼?任何重複的元素都不應該使用一個id,而應該使用一個類。 – davidethell

+0

ohhh ..我更新了代碼。你的意思是像我在代碼中寫的那樣?就像那樣? – Samuel

相關問題