2017-08-29 1 views
-1

は、私は2つのファイルを作成しました。選択ボックスはpost.phpでコード化されています。データクエリはajax.phpファイルにあります。私はajax.phpで選択ボックスロジックをコーディングして、選択された選択ボックスデータがajax呼び出しを使用してpost.phpに送信されるようにします。選択ボックスの値を別のファイルから呼び出す方法は?</p>私は、関連するグラフを表示するために2選択ボックスを選択します <p> 1. post.php 2. ajax.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; 

     } 

からのコードは、これは

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; 
     } 
} 

選択したデータ値を取得するためにajax.phpファイルですか?

$(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

私が理解したことは、2つの選択ボックスの値を選択してグラフを表示したいのですか? –

+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関数なら、それは正しく動作するはずですか?

が、このエラーが表示されます。

お知らせ:未定義の定数SELECT1の使用 - Eに 'SELECT1' 仮定:\ XAMPP \ htdocsに\ tigress_git \ローカル\レポートでは、行に498

お知らせajax.php \ :定義されていない定数select1の使用 - E:\ XAMPP \ htdocs \ tigress_git \ local \ reports \ ajax.phpの529行目で

関連する問題