#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");