0

我正在使用该站点的代码:使用 jQuery 添加/删除选择列表

我已经设置好显示部分,但是当我提交表单时,$_POST 中没有任何设置可以让我阅读用户的选择。

这是我设置的表格:

<?php
    <form id='setTasks' action='?action=ae&view=departmentTasks' method='post'>
        <table>
            <tr>
                <td valign='top'>
                    <select name='selectfrom' id='select-from' multiple size='5'>";
                        for ($i = 0; $i < count($unusedTasks); $i++)
                            echo "<option value='" . $unusedTasks[$i]['taskID'] . "'>" . $unusedTasks[$i]['taskName'] . "</option>";
                echo "</select>
                </td>
                <td valign='top'><a href='JavaScript:void(0);' id='btn-add'>Add &raquo;</a></td>
                <td valign='bottom'><a href='JavaScript:void(0);' id='btn-remove'>&laquo; Remove</a></td>
                <td>
                    <select name='selectto' id='select-to' multiple size='5'>";
                        for ($i = 0; $i < count($departmentTasks); $i++)
                            echo "<option value='" . $departmentTasks[$i]['taskID'] . "'>" . $departmentTasks[$i]['taskName'] . "</option>";
            echo "</select>
                </td>
            </tr>
            <tr>
                <td>
                    <input type='hidden' name='departmentID' value='" . $departmentID . "' />
                    <input type='hidden' name='submitFinal' value='1' />
                    <input type='submit' name='submitForm' value='Assign Tasks' />&nbsp;&nbsp;
                    <input type='button' value='Cancel' onclick='javascript:history.go(-1);' />
                </td>
            </tr>
        </table>
    </form>";
?>

和功能:

$(document).ready(function() {
    $('#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();
        });
        }); 
    });

前端(前后移动项目)工作正常,但是当我执行 var_dump($_POST) 时,我没有从选择字段中获得任何信息。任何人都能够看到我错过了什么?

4

1 回答 1

0

您不会获得任何表单数据,因为选择列表仅发送所选项目。

一种解决方案:遍历所有选项并在发布前将它们设置为选中状态。

另一种解决方案:在发布之前将您需要的信息从选项复制到隐藏字段中。

于 2012-07-09T18:07:41.397 回答