2017-05-09 82 views
-2

視圖代碼我有:文件中的一個對第一個選擇框中的值顯示數據的兩個選擇框,第二個選擇框depand的Json的Ajax結果以HTML選項

<?php 
    $con=mysql_connect("localhost","root","root"); 
    mysql_select_db("register",$con); 
    ?> 
    <!DOCTYPE html> 
    <html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script type="text/javascript"> 

     $(document).ready(function(){ 

      $("#category").change(function(){ 
      var value=$("#category option:selected").val(); 
      $.ajax({ 
         type:'post', 
         url:'subcat.php', 
         data:{ kvalue : value }, 
         datatype:'json', 
         success:function(data){ 
         alert(data); 
         $("#response").html(data); 
         } 

      }) 
     }) 
     }) 
    </script> 
     <title></title> 
    </head> 
    <body> 
    <form method="post"> 
     <table> 
      <tr> 
       <td>category:</td> 
       <td><select id="category"> 
       <option>Select Category</option> 
       <?php 
       $query=mysql_query("select * from category"); 
       while($row=mysql_fetch_array($query)){ 
        ?> 
       <option value="<?php echo $row['category'];?>"><?php echo $row['category'];?></option> 
        <?php 
       } 
       ?> 


       </select> 
       </td> 
      </tr> 
      <tr> 
       <td>Sub cat:</td> 
       <td><select > 
       <option >dependent dropdown</option> 
       <option id="response"></option> 

       </select> 
       </td> 
      </tr> 

     </table> 
    </form> 

    </body> 
    </html> 
another page for ajax call: 

此頁面返回數據在JSON格式的第一個文件。問題是,我有一個選擇框那裏我想得到這些值在我的選擇,但即時獲得這個值,如果米去選擇然後所有值自動selectrd

<?php 
$con=mysql_connect("localhost","root","root"); 
mysql_select_db("register",$con); 
$val=strtolower($_POST['kvalue']); 

if($val=='mobile'){ 
    $query=mysql_query("select mobile from subcat"); 
    while($row=mysql_fetch_array($query)){ 
     $row[] = $r; 
     print json_encode($row); 
     echo $row['mobile']."</br>"; 
} 
} 

problem``

我想在HTML選項JSON中獲取數據,但我得到的價值,但是這一切在選定的形式我怎麼能得到或選擇一個值,我想?

+0

mysql_ *已棄用並從最新版本的php中刪除。 – C2486

+0

我想解決方案兄弟不建議我將它在mysqli,但這次我想解決方案 – Gaurav

+0

你想顯示數據在第二下拉並選擇一個值? –

回答

0

檢查此演示代碼選擇選項更新和您的連接和查詢,我只是手動設置測試數據。這是你的HTML文件

<!DOCTYPE html> 
<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script type="text/javascript"> 

     $(document).ready(function() { 

      $("#category").change(function() { 
       var value = $("#category option:selected").val(); 
       $.ajax({ 
        type: 'post', 
        url: 'subcat.php', 
        data: {kvalue: value}, 
        datatype: 'json', 
        success: function (data) { 
         alert(data); 
         $("#response").html(data); 
        } 

       }) 
      }) 
     }) 
    </script> 
    <title></title> 
</head> 
<body> 
<form method="post"> 
    <table> 
     <tr> 
      <td>category:</td> 
      <td><select id="category"> 
        <option>Select Category</option> 
        <option value="mobile">Mobile</option> 
        <option value="TV">Tv</option> 
        <option value="Phone">Phone</option> 

       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>Sub cat:</td> 
      <td> 
       <select id="response"> 
        <option>dependent dropdown</option> 

       </select> 
      </td> 
     </tr> 

    </table> 
</form> 

</body> 
</html> 

,這是你subcat.php文件。我手動設置數據以進行測試。如果你想選擇取決於你的選擇數據,如果你用ajax發送選項,然後更新像

//$query=mysql_query("select mobile from subcat where subcat = '$val'"); 

查詢選擇第二個選項值只需要更新您的查詢

<?php 
//$con=mysql_connect("localhost","root","root"); 
//mysql_select_db("register",$con); 
$val = strtolower($_POST['kvalue']); 

if ($val == 'mobile') { 
    //$query=mysql_query("select mobile from subcat"); 
    $data = array('Option1', 'Option2', 'Option3'); 
    foreach ($data as $value => $key) { 
     echo '<option value="' . $value . '">' . $key . '</option>'; 
    } 
} 

,這是我的演示數據,所以需要替換您的sql數據