PHP - 获取多选的未选择值

时间:2013-06-03 14:05:51

标签: php jquery html multi-select

我正在为用户进行多项选择以保存最喜欢的网站。 不幸的是,我无法发布图像,应用程序无法在线工作。我将尝试解释多重选择的显示方式:

LEFT BOX(未选中的值) 右框(具有选定的值)

用户可以从左到右添加值框,这样可以正常工作。但是当他们保存时,我只能获得新选择的值。之前选择的值不会传递给表单处理器。这样我也无法确定是否从右列中删除了一个值。我希望也可以发布左框中的所有值。然后我知道数据库中可以“取消选择”哪些值。

当从左框中选择一个值时,它将从此框中消失并显示在右侧框中。

这就是表格的样子:

<select multiple name="main_categories_1[]" class="multiselect" id="select1">
  <option value="26">SAP</option>
  <option value="29">SEO</option>
  <option value="22">Servicemanager</option>
  <option value="28">SharePoint</option>
  <option value="34">Stages</option>
  <option value="6">Systeembeheerder</option>
  <option value="5">Tester</option>
  <option value="31">UIDesigner</option>
  <option value="35">Zend Dev</option> 
</select>

所以,澄清一下。我得到新选择的值,我没有得到已选中的未选择的值和值。我也想要未选择的值。

修改

好的,解决了。就像ejrowley说的那样,我需要用javascript选择所有“选中”的值。做完这样:

$(document).ready(function() {
    $('#saveAccount').submit(function() {
        $("#select2").find('option').attr('selected',true);
    });
});

1 个答案:

答案 0 :(得分:1)

即使你解决了它......但是,只是为了变化,你可以试试这个代码:

var selected = [];
var noselected = [];

$(document).on('click', '#button', function (){
    $.each($('#select2 option'), function (key, value) {

        if (!$(this).prop('selected')) {
            noselected[key] = $(this).val();
            //alert($(this).val());
        } else {
            selected[key] = $(this).val();
            //alert($(this).val());
        }
    });
});

通过这个,您可以得到2个数组,其中1个具有选定的值,另一个具有未选择的数据。

这是一个JsFiddle Demo