Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP将jquery添加的selectlist选项存储到数据库中_Php_Jquery_Mysql - Fatal编程技术网

使用PHP将jquery添加的selectlist选项存储到数据库中

使用PHP将jquery添加的selectlist选项存储到数据库中,php,jquery,mysql,Php,Jquery,Mysql,我找到了一个jquery代码段,用于从框1到框2的选择框中添加和删除选项。这很有效。但是,当我尝试用PHP打印添加了新选项的框的\u r时,它不会显示出来。提交后,我甚至无法在资源上看到它。有解决办法吗 $('#btn-add').click(function(){ $('#select-from option:selected').each( function() { $('#select-to').append("<option value='"+$(t

我找到了一个jquery代码段,用于从框1到框2的选择框中添加和删除选项。这很有效。但是,当我尝试用PHP打印添加了新选项的框的\u r时,它不会显示出来。提交后,我甚至无法在资源上看到它。有解决办法吗

$('#btn-add').click(function(){
    $('#select-from option:selected').each( function() {
            $('#select-to').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
        $(this).remove();
    });
});
$('#btn-remove').click(function(){
    $('#select-to option:selected').each( function() {
        $('#select-from').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
        $(this).remove();
    });
});

当您从一个选择框到第二个选择框输入数据时,您需要在第二个选择框中选择项目,以便在php中打印时显示

为此,在将项目添加到第二个选择框(比如id为selectbox2)后,您可以选择第二个选择框的所有项目,然后提交表单

for (var i = 0; i < selectbox2.options.length; i++) {
        selectbox2.options[i].selected = true;
}
//then Submit form like this, assuming your form name is form1
document.form1.submit();
for(变量i=0;i

希望这有助于

当您发布
a选择时,表单仅提交所选选项,并记住必须选择它。 对于代码,您只是将选项添加到
selectto
,而不是:

  • a) 选择其中一个(如果您希望发布单个值)
  • b) 选择所有要发布在PHP页面上的内容。(如果要发布多个值)
在第二种情况下(我认为这是您需要的),您可以使用这个简单的jQuery函数:

$("#buttonusedtosendform").click(function(e){
    e.preventDefault();
    $('#select-to option').each( function() {
      $(this).attr('selected', true);  //with this you select all the option
    });
    $('formname').submit();
});
请记住,如果您想使用
PHP
检索select的所有选项,您必须使用一个小技巧,在末尾用方括号命名select(这是PHP提供的一个功能,它将使用最新的单独解析来覆盖前一个变量): 例如,
selectto=>selectto[]
通过这种方式,php将其作为数组处理,并让您检索所有值,就像它是一个:

foreach($_POST['selectto[]'] as $options){}

顺便说一句,我在顶部添加了foreach,得到了一个空的arrayhey,nvm。我找到了解决办法。[]必须位于selectbox的name属性中,而不是位于POST['selectto']中。谢谢你的帮助,没有你我永远猜不到!谢谢,但由于我不太习惯jquery,所以我没有想到这一点。所以我仍然需要解决这个问题,我已经编辑了帖子,请查看javascript代码,在第二个选择框中选择所有项目并提交表单。
$("#buttonusedtosendform").click(function(e){
    e.preventDefault();
    $('#select-to option').each( function() {
      $(this).attr('selected', true);  //with this you select all the option
    });
    $('formname').submit();
});
foreach($_POST['selectto[]'] as $options){}