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

标签 javascript php jquery html ajax

我从 eric hanes ...site 得到了很好的选择复选框:

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

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

    <!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:选项1,var2:选项2,

在上面的 var1:option1 和 var1:option1,var2:option2 中,逗号对最后一个值重复,请检查,并且如果发送的第一个值晚于第二个值,则仅发送一个值,但不发送重复值必须发送值..但不是为第二个检查发送第一个和第二个值...请检查...

但在 PHP 脚本中它没有回显,请检查...

PHP 脚本:

<?php 

$var1= $_POST['var1'];
$var2 = $_POST['var2'];

echo $var1;
echo $var2;

?>

我有上面的代码..这里通过复选框选择选择选项,现在我必须通过 php 脚本中的 ajax 调用和 echo 将所选变量传递给 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' }
    });
});

<强> FIDDLE FOR MULTI SELECT

在您的 PHP 页面中,使用:

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

希望对您有帮助。

关于javascript - 如何将选择复选框值动态传递给ajax调用变量动态发布到php变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111943/

相关文章:

javascript - 使用请求库使用自定义 header 进行 POST

php - file_get_contents 无法打开流 : HTTP request failed only for SPECIFIC web page

php - if 和括号之间应该有一个空格吗?

php - 我需要在表中插入员工和服务 ID

jquery - ColVis 选择出现在 Bootstrap Modal 后面

javascript - 如何检查变量包含 JSON 对象或字符串?

javascript - 用另一个元素包装一个元素,保留对包装器的引用?

javascript - 全部从文件夹导出

javascript - 当用户尝试删除 indexedDB 数据库时,有没有办法执行函数?

javascript - 是否可以清除 JEST 中模块的模拟?