如何将选择复选框值动态传递给 ajax 调用变量动态发布到 php 变量


How to pass the select check box values dynamically to the ajax call variables post to php variables dynamically

我从埃里克·哈内斯那里得到了很好的选择复选框......网站:

http://www.erichynds.com/examples/jquery-ui-multiselect-widget/demos/

我必须传递从选择 html 标签中的选择选项中选择的值......

    <!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery MultiSelect Widget Demo</title>
<link rel="stylesheet" type="text/css" href="../jquery.multiselect.css" />
<link rel="stylesheet" type="text/css" href="assets/style.css" />
<link rel="stylesheet" type="text/css" href="assets/prettify.css" />
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script type="text/javascript" src="assets/prettify.js"></script>
<script type="text/javascript" src="../src/jquery.multiselect.js"></script>
<script type="text/javascript">

$(function(){
    $("select").multiselect();
});
function select_val(){
var str = '';
        $('select[name="example-basic"] :selected').each(function(i, selected){ 
            alert(str += 'var'+(i+1) +':'+ $(selected).val()+','); 
        });
                    $("#fetch").load("select.php",str,function(){});
            }

</script>
</head>
<body id="test">
<p>
    <select title="Basic example" multiple="multiple" name="example-basic" size="5">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
    <option value="option4">Option 4</option>
    <option value="option5">Option 5</option>
    <option value="option6">Option 6</option>
    <option value="option7">Option 7</option>
    <option value="option8">Option 8</option>
    <option value="option9">Option 9</option>
    <option value="option10">Option 10</option>
    <option value="option11">Option 11</option>
    <option value="option12">Option 12</option>
    </select>
</p>
<button id="select_val" onclick="select_val()"> Submit </button>
<div id="fetch"></div>
</body>
</html>

@Malik : 我已经用你的 javascript 添加了代码,如果我选择 2 个复选框,那么值在第一个警报 1 var1:option1 和第二个警报 var1:option1,var2:option2 中显示如下,

在上面的var1:option1

和var1:option1,var2:option2中,逗号再次重复最后一个值请检查,如果发送的第一个值比第二个值之后必须发送,则只发送一个值但不发送重复值..但不是拳头和第二个值发送到第二个检查...请检查...

但是在PHP脚本中它没有回声请检查...

PHP脚本:

<?php 
$var1= $_POST['var1'];
$var2 = $_POST['var2'];
echo $var1;
echo $var2;
?>

我有上面的代码..在这里,选择选项是通过复选框选择的,现在我必须通过 PHP 脚本中的 AJAX 调用和回显将所选变量传递给 PHP 变量。

例如:如果我选择选项 1 和选项 2,我应该收到选项 1 的警报,然后再次收到第二个警报选项 2。

再帮助...现在这个值必须传递给 ajax 调用,在那里 ajax 变量必须是动态的......我正在使用 load() ajax 函数..

$("#fetch").load("select.php",{var1:var1,var2:var2......},function(){});

此处介绍如何在 AJAX 调用中动态传递复选框变量。

<?php 
$var1= $_POST['var1'];
$var2 = $_POST['var2'];
.
.
.

echo $var1;
echo $var2;
?>

好的,我们开始了。据我了解,您有一个多选,并希望推送数组中选择的所有值,并使用 ajax 将其发送到 PHP 文件。这是我想到的:

$('[name=submit]').click(function(e){
    e.preventDefault();
    var array = [];
    $('select :selected').each(function(i,value){
        array[i] = $(this).val();
    });
    //here make your ajax call to a php file
    $.ajax({
        type: "POST",
        url: "path/to/file.php",
        data: { selected_values: array, otherVal: 'something else' }
    });
});

多选小提琴

在 PHP 页面中,使用:

$array = $_POST['selected_values'];
foreach($array as $key => $value){
    //do something with the key/value.
}

希望对您有所帮助。

您可以获取所有选定选项的值,如下所示:

var arr = []; 
$('select[name="example-basic"] :selected').each(function(i, selected){ 
  arr[i] = $(selected).val(); 
});

或在多选列表上使用 .val() 函数将返回所选值的数组:

var selectedValues = $('select[name="example-basic"]').val();

通过使用上面的jQuery代码,它将为您提供数组格式的值。您可以在其中将该数组传递到 php 中,如下所示:

$("#fetch").load("select.php",{var1:arr[0],var2:arr[1]......},function(){});

其中"arr[0]"是第一个选择的选项值,依此类推。

编辑的代码:

var str = '';
        $('select[name="example-basic"] :selected').each(function(i, selected){ 
           str += 'var'+(i+1) +'='+ $(selected).val()+'&'; 
        });
        $("#fetch").load("select.php",str,function(){});

上面是你的javascript的代码,下面是如何获取服务器端的值:

<?php 
$var1= $_GET['var1'];
$var2 = $_GET['var2'];
.
.
.

echo $var1;
echo $var2;
?>

希望这对您有所帮助。谢谢