Автозаполнение jQuery возвращает установленный флажок

#php #jquery #mysql #autocomplete

#php #jquery ( jquery ) #mysql #автозаполнение

Вопрос:

После вызова функции jquery как сделать флажок, выбранный из логического значения в базе данных Mysql? Вот что есть, но я не уверен, как установить флажок и куда его поместить в jquery. (FreeShip amp; BizlicSent) — это логические значения, которые необходимо ввести в флажки. Любая помощь будет принята с благодарностью.

 $(function() {
 $('#Customer_ID').val("");
 $('#Name').val("");
 $('#BillingEmail').val("");
 $('#FreeShip').val("");
 $('#BizlicSent').val("");
    $("#searchterm").autocomplete({
                source: "Customer.QUERY.php",
                minLength: 3,
                autoFocus: true,
                select: function(event, ui) {
                        $('#Customer_ID').val(ui.item.Customer_ID);
                        $('#FirstName').val(ui.item.FirstName);
                        $('#BillingEmail').val(ui.item.BillingEmail);
                        $('#FreeShip').val(ui.item.FreeShip);
                        $('#BizlicSent').val(ui.item.BizlicSent);
                }
            });
     }); 
 

Новое редактирование с большим количеством данных на страницах

Это страница, на которой есть информация о javascript / jquery

 <?php include '../JQ/jquery.php';?>
<html>
<head>
<script type="text/javascript">
$(function() {
 $('#Customer_ID').val("");
 $('#Name').val("");
 $('#BillingEmail').val("");
 $('#FreeShip').val("");
 $('#BizlicSent').val("");
    $("#searchterm").autocomplete({
                source: "Customer.QUERY.php",
                minLength: 3,
                autoFocus: true,
                select: function(event, ui) {
                    $('#Customer_ID').val(ui.item.Customer_ID);
                    $('#FirstName').val(ui.item.FirstName);
                    $('#BillingEmail').val(ui.item.BillingEmail);
                    $('#FreeShip').attr("checked", ui.item.FreeShip);
                    $('#BizlicSent').attr("checked", ui.item.BizlicSent);
            }

            });
     }); 
</script>
</head>
<body>
<form action="<?php echo $PHP_SELF;?>"  method="post">SEARCH:
<input type="text" id="searchterm" size="60" onClick="this.form.reset()"/>
</form>
<form method="POST" name="form" id="my_form">
<input type="text" name="Customer_ID" id="Customer_ID">
Customer ID<br>
<input type="text" name="FirstName" id="FirstName">
First Name<br>
<input type="text"  name="BillingEmail" id="BillingEmail">
Billing Email<br>
FreeShip<input type="checkbox" name="FreeShip" id="FreeShip"><br>
BizlicSent<input type="checkbox" name="BizlicSent" id="BizlicSent"><br>
<br>
<input type="submit" name="button" value="UPDATE"> 
</form>
</body>
</html>
 

Это страница ЗАПРОСА.

 <?php include_once '../connection.php';?>
<?php

try {
  $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
}
catch(PDOException $e) {
    echo $e->getMessage();
}

$return_arr = array();

if ($conn)
{
    $ac_term = "%".$_GET['term']."%"; 
    $query = "SELECT
Customer_ID, FirstName, BillingEmail, FreeShip, BizlicSent,

CONCAT_WS(' ', Customer_ID, FirstName, BillingEmail) AS displayName
FROM CustomerListNew
WHERE `Customer_ID` LIKE :term
    OR `FirstName` LIKE :term
    OR `BillingEmail` LIKE :term
";

    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute(); 

    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {

        $row_array['value'] = $row['displayName'];

        $row_array['Customer_ID'] = $row['Customer_ID'];
        $row_array['FirstName'] = $row['FirstName'];
        $row_array['BillingEmail'] = $row['BillingEmail'];  
        $row_array['FreeShip'] = $row['FreeShip'];
        $row_array['BizlicSent'] = $row['BizlicSent'];

        array_push($return_arr,$row_array);
    }

}   
$conn = null;
echo json_encode($return_arr);
?>
 

Вот ответ JSON.

 [{"value":"asdf asdf asdf","Customer_ID":"asdf","FirstName":"asdf","BillingEmail":"asdf","FreeShip":"1","BizlicSent":"0"},{"value":"qwer qwer qwer","Customer_ID":"qwer","FirstName":"qwer","BillingEmail":"qwer","FreeShip":"0","BizlicSent":"1"},{"value":"aaaa aaaa aaaa","Customer_ID":"aaaa","FirstName":"aaaa","BillingEmail":"aaaa","FreeShip":"1","BizlicSent":"0"},{"value":"bbbb bbbb bbbb","Customer_ID":"bbbb","FirstName":"bbbb","BillingEmail":"bbbb","FreeShip":"0","BizlicSent":"1"},{"value":"cccc cccc cccc","Customer_ID":"cccc","FirstName":"cccc","BillingEmail":"cccc","FreeShip":"1","BizlicSent":"1"},{"value":"dddd dddd dddd","Customer_ID":"dddd","FirstName":"dddd","BillingEmail":"dddd","FreeShip":"0","BizlicSent":"0"}]
 

Ответ №1:

Ладно! вот решение, которое работает сейчас….

 select: function(event, ui) {
  $('#Customer_ID').val(ui.item.Customer_ID);
  $('#FirstName').val(ui.item.FirstName);
  $('#BillingEmail').val(ui.item.BillingEmail);

    if (ui.item.FreeShip == "1") {
      $('#FreeShip').prop('checked', true);
      } else {
      $('#FreeShip').prop('checked', false);
    }

    if (ui.item.BizlicSent == "1") {
      $('#BizlicSent').prop('checked', true);
      } else {
      $('#BizlicSent').prop('checked', false);
    }
 

Комментарии:

1. Ваш код может быть намного короче, оставаясь при этом читаемым. Использовать: $('#FreeShip').prop('checked', ui.item.FreeShip == "1");$('#BizlicSent').prop('checked', ui.item.BizlicSent == "1");

Ответ №2:

Знак = отсутствует.

Вы должны использовать:

 $('#FreeShip').prop('checked', ui.item.FreeShip === "1");