Редактировать: я получил это, наконец,! Ниже мой пример. Надеюсь, это поможет кому-то еще в той же необходимости.Как получить значение переключателей, чтобы можно было изменить значение
У меня есть необходимость в переключателе доставки. Один для обычной доставки и один для экспресс-доставки.
После некоторой помощи и прибегая к помощи cale_b здесь в этой форме, моя проблема заключается в следующем:
У меня есть цикл Еогеаспа, который должен получить значения из базы данных и отображение их на одной странице. Мне нужен переключатель переключателей (или все, что работает одинаково), чтобы выбрать, какой тип доставки пользователь хочет. Мне нужна кнопка покупки в каждой строке, чтобы получить общую сумму, рассчитанную с другой php-страницы.
Я могу извлечь всю эту информацию из своей базы данных доставки и выполнить вычисления и отправить ее обратно на страницу с помощью ajax, но мне нужно иметь возможность динамически получать цену, размер, тип и shippingType, отправленные и возвращенные на основе каждый ряд. Затем используйте эту новую общую стоимость и назначьте ее в поле ввода, называемое totalCost для отправки.
Ниже приведен код html/php, который я использую сейчас.
<div class="details">
<table class="default">
<th>Type</th>
<th>Size</th>
<th>Price</th>
<th>Shipping</th>
<th>Total</th>
<th>Buy</th>
<?php
$getArtDetails = get_tableContentsWhere($con,'prices','artID',$id);
foreach($getArtDetails as $detail)
{
?>
<tr>
<td class="type"><?= $detail['type'] ?></td>
<td class="size"><?= $detail['size'] ?></td>
<td class="price">$<?= $detail['price'] ?>.00</td>
<td>
<input type="radio" name="shipping_<?= $detail['id'] ?>" class="radio" value="Xpress">Express Shipping
<input type="radio" name="shipping_<?= $detail['id'] ?>" class="radio" value="Regular">Regular Shipping
<input type="radio" name="shipping_<?= $detail['id'] ?>" class="radio" value="Free">Free Shipping
</td>
<td class="shipping"></td>
<td>
<form action="" method="post">
<input type="hidden" name="totalCost" value="set by jquery?">
<input type="submit" name="submit" value="Buy">
</form>
</td>
</tr>
<?php } ?>
</table>
</div>
Вот файл getShipping.php, который возвращает мою полную стоимость.
shipping.php:
<?php
include 'admin/config/functions.php';
$size = $_GET['size'];
$type = $_GET['type'];
$price = $_GET['price'];
$shippingType = $_GET['shippingType'];
$shipping = get_shippingRate($con,$size,$type,$shippingType);
$totalCost = $shipping + $price;
echo $totalCost;
Следующий скрипт делает то, что мне нужно это сделать, но с 2 проблемы 1. Когда я поднимаю радиокнопку изменения значений для всех из них вместо каждого , cale_b Я попробовал ваше решение здесь для поиска следующего TR, но он не возвращает результаты. В свою очередь, он не устанавливает ввод для представления либо 2. Другая проблема заключается в том, что мне нужно отправить размер, тип и цену динамически на мою страницу getShipping.php. Я тоже не знаю, как это сделать.
<script>
$('input[name^="shipping"]').each(function(index) {
$(this).on('click', function(){
var shippingType = $(this).val();
var size = $(this).closest('tr').find('td.size').text();
var type = $(this).closest('tr').find('td.type').text();
var price = $(this).closest('tr').find('td.price').text();
// I had to set $(this) to equal $this so I could access it within the ajax call as $(this) was referring to itself.
var $this = $(this);
$.ajax({
type: "GET",
url: "getShipping.php",
data: 'size=' + size + '&type=' + type + '&shippingType=' + shippingType + '&price=' + price,
success:function(data){
//called when successful
$this.closest('tr').find('td.shipping').html(data);
},
error: function(e) {
//called when there is an error
console.log(e.message);
}
});
});
});
</script>
Так со всем выше коде, оказывается я близка к тому, что я ищу, но нужны дополнительные указания.
Любая помощь этому будет принята с благодарностью.
Спасибо,
JAC
Где ваш Аякс? Нам нужна дополнительная информация, чтобы помочь в этом. Или вы на самом деле не имеете в виду ajax, а просто jQuery? (Так как значение находится в ваших элементах ввода)? –
@cale_b Сейчас у меня нет никаких прав. Вот с чем мне нужна помощь. Я не знаю, должно ли оно быть ajax или jquery. Оба являются для меня совершенно новыми. – jAC
@cale_b добавил скрипты, которые я пробовал (один jquery и один ajax) – jAC