Как найти идентификатор ввода, который я изменяю, чтобы опубликовать в Ajax - PullRequest
0 голосов
/ 01 февраля 2019

Я создал массив меню DropDown в цикле while, и я хотел бы опубликовать значение при изменении меню.Проблема в том, что, поскольку я создал меню с циклом, а идентификатор $ _SESSION ['List_company_id'] перезаписывается, поэтому я не могу получить идентификатор меню для публикации.

$i=0;
while($query_data = mysqli_fetch_row($result)) {

  $_SESSION["List_company_id"]=$query_data[3];
  $_SESSION["List"]=$query_data[1];
  $_SESSION["list_name"]=$query_data2[2];

  echo '<div class="form-group">';
  echo "<p>List number $i</p>";
  echo '<span class="icon-case hidden-xs"><i class="fa fa-home"></i></span>';
  echo "<select class='dropdown' name=\"".$_SESSION['List_company_id']."\">";
  echo "<option selected = 'selected'  value=\"".$_SESSION["List_company_id"]."\">".$query_data[2]."</option>";

  $query1="SELECT * FROM `calling_lists`";
  $result1=mysqli_query($connection,$query1) or die ("Query to get data from list table failed: ".mysql_error());

  while ($row1=mysqli_fetch_array($result1)) {
    $list_name=$row1["calling_list_name"];
    $list_description=$row1["calling_list_description"];
    $list_id=$row1["calling_list_id"];
    echo "<option value=\"$list_id\">$list_name</option>";
  };

  echo "</select>";
  echo "</div>"; 
  $i=$i+1;
};

echo '</form>';
echo "</div>"; 
?>

Ajax Iхотел бы использовать выглядит так:

<script type="text/javascript">
$(document).ready(function(){
    $("#.$_SESSION['List_company_id'].").change(function(){ 
        var company = $(this).val();
        var dataString = "list="+list; 
        if($_SESSION['List_company_id']){
            $.ajax({
                type:'POST',
                url:"get-data1.php",
                data:dataString,
                success:function(html){
                $('#contact').html(html);

            }
        }); 
    }
 });
});

Наконец, мой get-data1.php выглядит так:

<?php

  /* Connect to MySQL and select the database. */
  $connection = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);

  if (mysqli_connect_errno()) echo "Failed to connect to MySQL: " . mysqli_connect_error();

  $database = mysqli_select_db($connection, DB_DATABASE);
  $c=$_POST['$_SESSION['List_company_id'];
  $query="UPDATE `calling_list_company` SET `calling_list_id`='$c' WHERE `calling_list_company_id`='".$_SESSION["company_id"]."' ;";
  $result=mysqli_query($connection,$query) or die ("Query to get data from contact_company table failed: ".mysqli_connect_error());
?>

1 Ответ

0 голосов
/ 05 февраля 2019

Я нашел ответ после большого количества проб и ошибок, «используя this.id», если кому-то это нужно, рабочий код приведен ниже:

<script type="text/javascript">
$(document).ready(function(){
$(".dropdown").change(function(){ 
  var id=(this.id);
  var value=(this.value);

    if(value){
        $.ajax({
            type:'POST',
            url:"get_dropdown.php",
            data:{"list_company_id":id,"calling_list_id": value},
            success:function(html){
                $('#risu').html(html);

              }
          }); 
      }
  });
});

...