Php 双重选择框未正确过帐

Php 双重选择框未正确过帐,php,jquery,html,forms,html-parsing,Php,Jquery,Html,Forms,Html Parsing,我仍在努力学习jquery,所以请容忍我。我有一个双选择框,只有当我将第二个选择框的所有结果移动到那里后,它才起作用。我想要的是,当第一个框将值传输到第二个选择框时,它不需要突出显示选项,而是将第二个选择框发布到表单提交上。这是什么 我有: HTML: 就像我说的,我有这种工作。但是,如果我向select2发送了一个值,我必须在提交之前突出显示它,否则它不会发布。有什么想法吗?我以前遇到过,你有几个选择。使用JS,您可以将第二个框中的所有值也推送到一个隐藏字段中,或者使用JS,您可以选择第二个框

我仍在努力学习jquery,所以请容忍我。我有一个双选择框,只有当我将第二个选择框的所有结果移动到那里后,它才起作用。我想要的是,当第一个框将值传输到第二个选择框时,它不需要突出显示选项,而是将第二个选择框发布到表单提交上。这是什么 我有:

HTML:


就像我说的,我有这种工作。但是,如果我向select2发送了一个值,我必须在提交之前突出显示它,否则它不会发布。有什么想法吗?

我以前遇到过,你有几个选择。使用JS,您可以将第二个框中的所有值也推送到一个隐藏字段中,或者使用JS,您可以选择第二个框中的所有值作为表单上的onsubmit处理程序

事实上,我以前做过后者,效果很好

最终,选择框multi或single select只发送所选的值-这就是为什么它只在您首先选择它们时才起作用。它的工作原理很像复选框,未检查的值不会被发布

这应选择以下所有选项:

$('#myform').submit(function() {
  var sel2 = $('#dualselect1 select:last-child');
  sel2.find('option').each(function(){
    $(this).attr('selected',true);
  });   
});
或者这会将它们放入一系列隐藏字段中:

$('#myform').submit(function() {
  var sel2 = $('#dualselect1 select:last-child');
  sel2.find('option').each(function(){
    var hidden = $('<input type="hidden" name="selectedOptions[]"/>');
    hidden.val($(this).val());
    sel2.after(hidden);
  });   
});

然后在PHP中,您可以使用$_POST['selectedOptions']获得这些值

您只需修改这一行jQuerythis.attr'selected',false;在sel1中,查找…块 使用jQuerythis.attr'selected',true。 在此模式下,自动选择从第一个框移动到第二个框的所有选择, 所以,当您提交表单时,直接传递这个值。 试试看

这应该起作用:

if(t) {
        sel1.find('option').each(function(){
            if(jQuery(this).is(':selected')) {
                jQuery(this).attr('selected',true);
                var op = sel2.find('option:first-child');
                sel2.append(jQuery(this));
            }
        }); 
    } 

我使用了第一个例子,你用来选择他们所有。这真的帮了我很大的忙,谢谢!没问题。就像我说的,我以前也遇到过同样的问题,这很令人沮丧!
$('#myform').submit(function() {
  var sel2 = $('#dualselect1 select:last-child');
  sel2.find('option').each(function(){
    $(this).attr('selected',true);
  });   
});
$('#myform').submit(function() {
  var sel2 = $('#dualselect1 select:last-child');
  sel2.find('option').each(function(){
    var hidden = $('<input type="hidden" name="selectedOptions[]"/>');
    hidden.val($(this).val());
    sel2.after(hidden);
  });   
});
if(t) {
        sel1.find('option').each(function(){
            if(jQuery(this).is(':selected')) {
                jQuery(this).attr('selected',true);
                var op = sel2.find('option:first-child');
                sel2.append(jQuery(this));
            }
        }); 
    }