简体   繁体   中英

PHP auto-fill selectbox through URL

I have a question I can't figure out.

<?php
                $killtheboy = 0;
if($killtheboy == 1){
    echo "<input type=\"text\" name=\"dwanummer\" id=\"dwanummer\">";
}else{

    echo "<div id=\"dropdowndwa\">
                <select name=\"dwanummer\" id=\"dwanummer\" class=\"dwanummer\">
                <option selected=\"selected\">Kies uit lijst</option>";
                include("config/instellingen.php");
                $query = "SELECT DISTINCT `Klantvraag`,`Wensweek` FROM `DWA` WHERE `Status DWA` = 'DBAA' OR `Status DWA` = 'DBAP' OR `Status DWA` = 'DIUI' ORDER BY wensweek - '$wensweekber' ASC";
                if ($result = mysqli_query($connect, $query)) {
                while ($get = mysqli_fetch_assoc($result)) {
                    $week = date('W', strtotime("this week"));
                    $jaar = date('Y', strtotime("this week"));
                    $wens =  ''. $jaar . ''. $week. '';
                    $wensweek = $get['Wensweek'];
                    $wensweekber = $wensweek - $wens;
                    echo '<div class="selectBlock"><option value="' . $get['Klantvraag'] . '" name="dwanummer" id="dwanummer" class="dwanummer">'.$get['Klantvraag'] . ' Wensweek :  ' . $wensweekber . '</option></div>';
                         }
                }
                    echo "</select></div><br />";
}
?>

The above code (PHP) fetches a list of numbers on pageload and I have to select one in order to fetch that information through JS.

<script type="text/javascript">
   $(document).ready(function()
   {
   $(".kvraagnummer").change(function()
   {
   var id = $("#kvraagnummer option:selected").prop("value");
   var dataString = 'id=' + id;

   $.ajax
   ({
   type: "POST",
    url: "add_event_2.php",
   data: dataString,
   cache: false,
   success: function(html)
   {
    $('.cnummer').html(html);
   } 
   });

   });
   });
   </script>

Basically I have a search system and u can find all 'cases' there and if you see one you want then you click it it goes to the above page with code and it auto selects that ID instead of still having to select it. (like additem.php?id=125533 or something)

Can someone please explain me how I can solve this.

Can you try this, You need to use selected attribute in select element

    $Selected =''; 
    if(isset($_GET['id']) && ($get['Klantvraag'] == $_GET['id'])){          
        $Selected =" selected='selected' ";
    }

    echo '<option value="' . $get['Klantvraag'] . '"   '.$Selected.'  name="dwanummer" id="dwanummer" class="dwanummer">'.$get['Klantvraag'] . ' Wensweek :  ' . $wensweekber . '</option>';

Javascript:

   $(document).ready(function()
   {
       $(".kvraagnummer").change(function()
       {
           Populate();

       });

       Populate();
   });

   function Populate(){
       var id = $("#kvraagnummer option:selected").prop("value");
       var dataString = 'id=' + id;
       $.ajax({
           type: "POST",
            url: "add_event_2.php",
           data: dataString,
           cache: false,
           success: function(html)
           {
            $('.cnummer').html(html);

                 removeAllNameSelectBoxes();
                 var selected = $("#dropdowndwa option:selected").map(function (i, el) {
                 return el.value;
    }).get();

                        getNamesFromSelectIds(selected);
           } 
       });

   }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM