JQuery — Ajax множественное раскрывающееся возвращаемое значение — PHP MySQL

у меня было 4 стола, как это

Таблица

И тогда я собираюсь заполнить эту форму

форма

рабочий процесс, когда я выбираю Тип элемента а также лечение, цена должна быть заполнена на основе ServicePrice Table, Я могу получить Цена от ServicePrice, но когда я проверяю XHR в сети, он показывает значение Цена но его данные просто показывают в первый раз, я имею в виду, когда модал открывается, он показывает первые данные, когда опция изменилась, Цена Значение держите как 1-й раз модальный открытый. так что я хочу всякий раз, когда Тип элемента или же лечение изменилось, я хочу, чтобы ценовое поле заполнялось динамически

вот моя форма

<tr>
<td>Item Type</td>
<td>
<select name="ItemTypeID"  class="form-control"  id="ItemType" >
<option selected=""></option>
<?php
$sql2 = mysql_query("select * from itemtype");
while($record = mysql_fetch_array($sql2)){
?>
<option value="<?php echo $record['ID']; ?>" title="<?php echo $record['DefaultSpec']; ?>"> <?php echo $record["Name"]; ?> </option>
<?php } ?>
</select>
</td>
</tr>

<tr>
<td>Treatment</td>
<td>
<select name="TreatmentID" class="form-control" id="Treatment">
<?php
$sql2 = mysql_query("select * from treatment");
while($record = mysql_fetch_array($sql2)){
?>
<option value="<?php echo $record['ID']; ?>"> <?php echo $record["Name"]; ?> </option>
<?php } ?>
</select>
</td>
</tr>

а потом мой аякс

$("#ItemType, #Treatment").change(function(){
var ItemType = $(this).val();
var Treatment = $(this).val();
console.log(Treatment);
console.log(ItemType);
$.ajax({
type: "POST",
dataType: "html",
url: "GetPrice.php",
data: {ItemTypeID: ItemType, TreatmentID: Treatment},
success: function(result){
console.log(result);
$("#Price").val(result);
});
});

мой GetPrice.php

<?php include "../Content/connection.php";

$a="SELECT * FROM ServicePrice WHERE ItemtypeID = '".$_POST["ItemTypeID"]."' AND TreatmentID = '".$_POST["TreatmentID"]."'";
$q=mysql_query($a);
while($record=mysql_fetch_array($q)){
echo $record['Price'];
}
?>

РЕДАКТИРОВАТЬ :

я делаю это так, это дает мне правильный ответ, но значение цены срабатывает только при изменении раскрывающегося списка, как я могу заставить его срабатывать при раскрытии стенда?

 $("#ItemType").change(function(){
var ItemType = $(this).val();
$("#Treatment").change(function(){
var Treatment = $(this).val();

1

Решение

$(this).val() внутри обработчика события изменения не будет работать, чтобы получить данные для обоих полей,
вместо того, чтобы получить данные Тип элемента а также лечение в отдельности

$("#ItemType, #Treatment").on('change', function(){
var ItemType = $("#ItemType").val();
var Treatment = $("#Treatment").val();

$.ajax({
type: "POST",
url: "GetPrice.php",
data: {ItemTypeID: ItemType, TreatmentID: Treatment},
success: function(result){
$("#Price").val(result);
}
});
});
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector