使用PHP / Javascript在复选框中传递多个值

时间:2015-12-01 09:49:06

标签: javascript php jquery

是否可以通过复选框提交传递多个值。我需要将valuedata-export传递给php中的insert语句?在PHP中可以吗?

示例(HTML):

<input type="checkbox" data-export="<?= $list1['export_charges']; ?>"  name="chk_export[exportinr]"  value="<?= $list1['export_charges_inr']; ?>">

在PHP中:

 $exportinr = $_POST['chk_export']['exportinr'];

5 个答案:

答案 0 :(得分:0)

使用像这样的分隔符:

<input value="value#data-export-value" name="somefield">

然后在PHP中:

list($value, $dataexport) = explode("#", $_POST["somefield"]);
// $value and $dataexport will hold the appropriate values

或者尝试使用图书馆,例如jQuery的:

$("#formName").on('submit', function(evt) {
    evt.preventDefault();
    var fieldvalue = $("#somefield").val();
    var fielddata = $("#somefield").data('export');
    var data = {fieldvalue: fieldvalue, fielddata: fielddata};
    $.ajax({
        type: "POST",
        url: url,
        data: data
    });
});

在PHP中,您可以访问fieldvalue&amp; fielddata如此:

$fieldvalue = $_POST["fieldvalue"]; 

如果您之前从未使用过jQuery,请更好地使用分隔符解决方案。

答案 1 :(得分:0)

我认为使用当前代码,它只会传递一个值,

name="chk_export[exportinr]"

像这样改变

name="chk_export[exportinr][]"

name="chk_export[]"

答案 2 :(得分:0)

这是一个解决方案

<input type='checkbox' value='.$list1['export_charges_inr'].' name="chk_export[]" />
<input type='checkbox' value='.$list1['export_charges'].' name="chk_export[]" />

获取值的Php代码

$numb = count($chk_export);
for($i=0;$i<=($numb - 1);$i++){
    echo $chk_export[$i];
}

还有一个解决方案是

<input type="checkbox" value="'.$list1['export_charges'].':'.$list1['export_charges_inr'].'" name="chk_export" />

在php中

$pieces = explode(":", $_POST['chk_export']);
echo $pieces[0];
echo $pieces[1];

答案 3 :(得分:0)

data- *属性旨在由客户端代码处理。

如果您想提交两个或更多值,您可以使用其他解决方案:

  1. 使用隐藏的输入字段来保存其他值。
  2. 使用您定制的值模式并发布它们,即

    <input type="checkbox" name="chk_export" value='.$list1['export_charges'].'-'.$list1['export_charges_inr'].'>
    
  3. 并在PHP端接收post值并在&#39; - &#39;

    中将其展开
        $arr = explode("-", $_POST["chk_export"]);
    

答案 4 :(得分:0)

您的输入标记应该是这样的

<input type="checkbox" data-export='.$list1['export_charges'].' name="chk_export[exportinr][]"  value='.$list1['export_charges_inr'].'>

现在要获取每个复选框的值,你必须使用php for loop这样的东西:

$ N = count($ _ POST ['chk_export [exportinr] []']);

for($i=0; $i < $N; $i++)
{
  echo($_POST['chk_export[exportinr][$i]']);
}