我创建了一个无线电组的列表,并将它们附加到一个产品类别中。所以,我要做的是检查类别应该拥有的组,然后取起类别可用的组中的无线电值,并将它们显示给用户填写。
接下来,我想将它们传递给我的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 } ?>
Ajax函数当表单提交时,我调用这个函数
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');
}
});
}
函数ajax函数然后将其传递给这个php函数,在那里我将接收post请求,该请求将所选的无线电值插入数据库,然后将响应返回到我的前端。
function test(){
$track = $_POST['tack'];
$printd = $_POST['printd'];
echo DataDB::getInstance()->testp($track,$printd);
}
发布于 2017-11-17 11:23:52
我的猜测是,有更多的无线电按钮产生,如果是这样的话,你可以尝试这样的东西。
<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中,改变使用串行化检索表单值的方式。
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);
}
不确定您想要对数据做什么以及实际需要什么,但这应该会使您朝着正确的方向前进。
https://stackoverflow.com/questions/47355212
复制相似问题