2017-08-29 45 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行

相关问题