2017-08-29 24 views
-1

我創建2個文件: 1. post.php中 2. ajax.php如何從不同的文件中調用選擇框的值?

我要選擇2個選擇框來顯示相關的圖表。選擇框在post.php中編碼。數據查詢位於ajax.php文件中。我想編寫ajax.php中的選擇框邏輯,以便使用ajax調用將所選擇的選擇框數據發送到post.php。

但是,我不知道如何調用ajax.php中的選擇框的變量選擇值來運行那裏的功能。

任何人都可以幫到我嗎?

這是來自post.php中的代碼

  //combo box options to select post filter 
      echo 'Posts of : '; 
      echo '<select id="post-filter">'; 
      echo '<option value="0" selected="selected"> Select </option>'; 
      echo '<option value="1">Job</option>'; 
      echo '<option value="2">Internship</option>'; 
      echo '</select>'; 


      echo '&nbsp;&nbsp;&nbsp;'; 

      //combo box options to select group filter 
      echo 'Category : '; 
      echo '<select id="field-filter">'; 
      echo '<option value="0" selected="selected"> Select </option>'; 
      echo '<option value="1">Company</option>'; 
      echo '<option value="2">Location</option>'; 
      echo '<option value="3">Jobs Category</option>'; 
      echo '<option value="4">Salary</option>'; 
      echo '<option value="5">Experience</option>'; 
      echo '<option value="6">Level of Education</option>'; 
      echo '</select>'; 
      ?> 

function change1() { 
     var listbox1 = document.getElementById("post-filter"); 
     var selIndex1 = listbox.selectedIndex; 
     var selValue1 = listbox.options[selIndex1].value; 
     var selText1 = listbox.options[selIndex1].text; 

     } 


    function change2() { 
     var listbox2 = document.getElementById("post-filter"); 
     var selIndex2 = listbox.selectedIndex; 
     var selValue2 = listbox.options[selIndex2].value; 
     var selText2 = listbox.options[selIndex2].text; 

     } 

這是ajax.php文件,以獲得所選的數據值

if (selValue1 == '1') { 
    if (selValue2 == '1') { 

       x = CompanyData; 
       y = optionsCompany; 

       } 

    if (selValue2 == '2') { 
        x = LocationData; 
        y = optionsLocation; 
       } 

     if (selValue2 == '3') { 
      x = CategoryData; 
      y = optionsCategory; 
     } 


     if (selValue2 == '4') { 
      x = SalaryData; 
      y = optionsSalary; 
     } 

     if (selValue2 == '5') { 
      x = ExperienceData; 
      y = optionsExperience; 
     } 


     if (selValue2 == '6') { 
      x = LevelData; 
      y = optionsLevel; 
     } 

} 


elseif (selValue1 == '2') { 

    if (selValue2 == '1') { 

       x = CompanyData; 
       y = optionsCompany; 

       } 

    if (selValue2 == '2') { 
        x = LocationData; 
        y = optionsLocation; 
       } 

     if (selValue2 == '3') { 
      x = CategoryData; 
      y = optionsCategory; 
     } 


     if (selValue2 == '4') { 
      x = SalaryData; 
      y = optionsSalary; 
     } 

     if (selValue2 == '5') { 
      x = ExperienceData; 
      y = optionsExperience; 
     } 


     if (selValue2 == '6') { 
      x = LevelData; 
      y = optionsLevel; 
     } 
} 

我可以用這個?

$(document).ready(function() { 
     $('select[name="post-filter"]').change(function(){ 
     var select1 = $(this).val(); 
     $.ajax({ 
       type: 'POST', 
       url: 'ajax.php', 
       data: {select1: select1}, 
       dataType: 'php' 
       }); 
      }); 
     }); 
+0

將您的post.php和ajax.php文件代碼添加到您的問題中添加你到目前爲止所嘗試的以及你面臨的問題。在此之前,我們無法幫助你。 –

+0

我所瞭解的,你想通過選擇兩個選擇框的值顯示圖表? –

+0

是的,只是我現在關心的問題,我不能把選擇框的值使用ajax.php。整個代碼會很長。 – joun

回答

0

post.php中

<?php 
       //combo box options to select post filter 
       echo 'Posts of : '; 
       echo '<select id="post-filter">'; 
       echo '<option value="0" selected="selected"> Select </option>'; 
       echo '<option value="1">Job</option>'; 
       echo '<option value="2">Internship</option>'; 
       echo '</select>'; 


       echo '&nbsp;&nbsp;&nbsp;'; 

       //combo box options to select group filter 
       echo 'Category : '; 
       echo '<select id="field-filter">'; 
       echo '<option value="0" selected="selected"> Select </option>'; 
       echo '<option value="1">Company</option>'; 
       echo '<option value="2">Location</option>'; 
       echo '<option value="3">Jobs Category</option>'; 
       echo '<option value="4">Salary</option>'; 
       echo '<option value="5">Experience</option>'; 
       echo '<option value="6">Level of Education</option>'; 
       echo '</select>'; 
    ?> 
    <script> 
     $(document).ready(function() { 
     // for post-filter 
     $('#post-filter').on('change',function(){ 
     var select1 = $(this).val(); // Post filter value 
     var select2 = $("#field-filter").val(); // Field Filter value 
     $.ajax({ 
       type: 'POST', 
       url: 'ajax.php', 
       data: {selValue1 : select1,selValue2 :select2 }, 
       success: function(result){ 
        console.log(result); // what ever the ajax call response we got from ajax.php 
       } 
      }); 
     }); 
    // we need to do the same for field filter value. 
    $('#filed-filter').on('change',function(){ 
     var select2 = $(this).val(); // Field filter value 
     var select1 = $("#post-filter").val(); // post Filter value 
     $.ajax({ 
       type: 'POST', 
       url: 'ajax.php', 
       data: {selValue1 : select1,selValue2 :select2 }, 
       success: function(result){ 
        console.log(result); // what ever the ajax call response we got from ajax.php 
       } 
      }); 
     }); 
    </script> 

ajax.php會爲你做同樣的。

+0

我不再需要change()函數了嗎? – joun

+0

您可以按照您的操作進行變更,也可以像我一樣進行變更。 –

+0

我已經把你的代碼,當我選擇組合框,ajax張貼在網絡中。所以當我刷新ajax.php它應該有正確的價值? – joun

0
if (select1 == '1') { 
    if (selValue2 == '1') { 

       jobcompany(); 

       } 

    if (selValue2 == '2') { 

       joblocation(); 
       } 

     if (selValue2 == '3') { 
       jobcategory(); 
     } 


     if (selValue2 == '4') { 
       jobsalary(); 
     } 

     if (selValue2 == '5') { 
       jobexperience(); 
     } 


     if (selValue2 == '6') { 
       joblevel(); 
     } 

} 
elseif (select1 == '2') { 

    if (selValue2 == '1') { 

       interncompany(); 

       } 

    if (selValue2 == '2') { 
       internlocation(); 
       } 

     if (selValue2 == '3') { 
       interncategory(); 
     } 


     if (selValue2 == '4') { 
       internsalary(); 
     } 

     if (selValue2 == '5') { 
       internexperience(); 
     } 


     if (selValue2 == '6') { 
       internlevel(); 
     } 
} 

函數返回數據表。如果ajax post函數,它應該工作正確?

,但這個錯誤出現:

注意:使用未定義的常量選擇1的 - 假設 '選擇1' 在E:\ XAMPP \ htdocs中\ tigress_git \本地\報告\ ajax.php上線498

公告:使用未定義的常量select1 - 在E:\ XAMPP \ htdocs \ tigress_git \ local \ reports \ ajax.php中假設'select1'529行

相關問題