我创建了一个无线电组列表,并将它们附加到产品类别。因此,我要做的是检查该类别应该具有的组,然后我将在类别可用的组中选取无线电值,并将它们显示给用户以填充。
接下来是我想将它们传递给我的 ajax 函数,然后将其注入数据库。问题是我无法在我的 ajax 中获取无线电输入的唯一名称,因为我是从数据库中加载它的。
<?php $notarray = DataDB::getInstance()->select_from_where('pro_print_group','product_category_id',$cat);
while ($row = mysqli_fetch_assoc($notarray)) {?>
<div class="col-sm-12">
<label for="quantity"><?php echo DataDB::getInstance()->get_name_from_id('group_n','print_type_group','print_type_group_id',$row['print_type_group_id']); ?></label>
<div class="printd-group">
<?php
$not = DataDB::getInstance()->select_from_where('print_type','print_type_group_id',$row['print_type_group_id']);
foreach($not as $ow):?>
<label class="printd">
<input name="prind<?php echo $row['print_type_group_id'] ;?>[]" id="prind<?php echo $row['print_type_group_id'] ;?>[]" value="<?php echo $ow['print_type_id'] ;?>" checked="" type="radio" class="name" data-price="0"> <?php echo $ow['name'] ;?>
</label>
<?php endforeach; ?>
</div>
</div>
<?php } ?>
阿贾克斯函数提交表单时,我调用此函数
function testpr() {
document.getElementById("load").style.display = "block";
var track = 'YU6758990';
var printd = $('#printd').val();
$.ajax({
type: 'post',
url: 'frverify.php',
data: "track=" + track + "&printd=" + printd + "&ins=testp",
success: function(data)
{
document.getElementById("load").style.display = "none";
jQuery('#get_prresult').html(data).show();
scroll_to('#messs');
}
});
}
PHP函数然后ajax函数将其传递给这个php函数,我将在其中接收post请求,该请求将选定的无线电值插入数据库,然后将响应返回给我的前端
function test(){
$track = $_POST['tack'];
$printd = $_POST['printd'];
echo DataDB::getInstance()->testp($track,$printd);
}
我的猜测是生成的单选按钮不止一个,如果是这种情况,您可以尝试这样的事情。
<input name="printd[<?php echo $row['print_type_group_id'] ;?>]" id="<?php echo $row['print_type_group_id'] ;?>" value="<?php echo $ow['print_type_id'] ;?>" checked="" type="radio" class="name" data-price="0"> <?php echo $ow['name'] ;?>
然后在 Javascript 中,使用 serialize 更改检索表单值的方式。
data: "track=" + track + "&" + $('form#id.selector').serialize() + "&ins=testp"
然后在 PHP 脚本中,使用某种 foreach 循环遍历值
function test(){
$track = $_POST['tack'];
foreach($_POST['printd'] as $key => $value){
//$key => print_type_group_id
//$value => print_type_id
}
echo DataDB::getInstance()->testp($track,$printd);
}
不确定您想用数据做什么以及您实际需要什么,但这应该会让您朝着正确的方向前进。