у меня было 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();
$(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);
}
});
});
Других решений пока нет …