user1532468
user1532468

Reputation: 1751

Change event not populating secode dropdown

I am having trouble populating a second dropdown from a mysql result. As far as I can see, the code seems fine but obviously there is something not right.

The value is being passed correctly to $rtvcompany = $_GET['rtvcompany']; from loadboxRtvaddr.php?rtvcompany= in PHP and if I run query in mysql, it returns correct data.

I would be grateful if someone could please check my code and point out my error. Many thanks

SOLVED: missing } in if statement. Duh!

html

<div class="form-group">
    <label class="labelStyle" for="rtvdept">Department</label> <select class="form-control chosen-select" data-placeholder="Select a Dept..." id="rtvdept" name="rtvdept">
      <option value="">
      </option>
    </select>
    <div id="deptmessage"></div>
    <div class="servicesHelp">
      Please select a department where your box is stored for retrieval.
    </div>
</div>

JS Change event

$(function() {
  $("#rtvcompany").change(function() {
    $(this).after('<div id="loader"><img src="/logistor.new/admin/images/loader.gif" alt="loading files" /></div>');
    $.get('/domain/admin/requests/boxes/retrieve/loadboxRtvaddr.php?rtvcompany=' + $(this).val(), function(data) {
      $("#rtvdept").html(data);
      $('#loader').slideUp(200, function() {
        $(this).remove();
        $("#rtvdept").trigger("chosen:updated");
      });
    });
  });
});

PHP

<?php session_start(); ?>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/domain/admin/Connections/domain.php'); ?>

<?php
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$rtvcompany = $_GET['rtvcompany'];

$sqladdr = "SELECT * FROM departments WHERE code = '".$rtvcompany."'";
$resultaddr = mysqli_query($conn, $sqladdr) or die(mysqli_error());
if (mysqli_num_rows($resultaddr) > 0) {
  while ($row_addr = mysqli_fetch_array($resultaddr)) {
    echo "<option value='$row_addr[name]'>$row_addr[name]</option>";
}
mysqli_close($conn);
?>

Upvotes: 0

Views: 38

Answers (1)

user8063037
user8063037

Reputation: 161

Change you jquery code as below.

$(document).on('#rtvcompany','change',function() {
$(this).after('<div id="loader"><img src="/logistor.new/admin/images/loader.gif" alt="loading files" /></div>');
$.get('/domain/admin/requests/boxes/retrieve/loadboxRtvaddr.php?rtvcompany=' + $(this).val(), function(data) {
  $("#rtvdept").html(data);
  $('#loader').slideUp(200, function() {
    $(this).remove();
    $("#rtvdept").trigger("chosen:updated");
});

}); });

Upvotes: 1

Related Questions