Php Html:对于Select multiple,只提交一个值,但.val()返回两个值的数组

Php Html:对于Select multiple,只提交一个值,但.val()返回两个值的数组,php,jquery,html,form-submit,multiple-select,Php,Jquery,Html,Form Submit,Multiple Select,呈现页面时,多重选择的val()设置为单个值。例如,$(“#我的选择框”).val(1) 然后,用户在“多重选择”框中选择一个附加值 提交表单时,只提交新选择的值,而不提交以前设置的值。而在Firefox中调试时,.val()函数返回两个值的数组(前一个值和新选择的值)。为什么会发生这种情况?好吧,没有代码我们无法确定。但是,当您希望传入多个参数时,必须在[]括号中给出该输入的名称值。例如,“name[]”,以便服务器知道实际上有两个值 没有代码很难说该怎么办 但是,如果您既要选择标记为选中的选

呈现页面时,多重选择的
val()
设置为单个值。例如,
$(“#我的选择框”).val(1)
然后,用户在“多重选择”框中选择一个附加值


提交表单时,只提交新选择的值,而不提交以前设置的值。而在Firefox中调试时,
.val()
函数返回两个值的数组(前一个值和新选择的值)。为什么会发生这种情况?

好吧,没有代码我们无法确定。但是,当您希望传入多个参数时,必须在[]括号中给出该输入的名称值。例如,“name[]”,以便服务器知道实际上有两个值

没有代码很难说该怎么办

但是,如果您既要选择标记为选中的
选项
,也要选择另一个选项,则可以按如下方式访问它们:

选项[selected=“selected”]
用于您设置的选项

选项:为用户选择的选项选择

所以像这样的事情

$('#submit').click(function(){
    var s = $('#my_select_box option[selected="selected"]').val(); 
    var t = $('#my_select_box option:selected').val();
    alert("Set: " + s + ", Chosen: " + t);
});

示例:

如果您使用PHP编程,问题就在那里。当使用multiselect输入时,PHP要求在输入名称后有一对空括号。例如:

<select name="select[]" multiple="multiple">
您将看到这样一个字符串,您可以使用:

select=one&select=two&select=three&button=submit
$data_from_post = file_get_contents("php://input");
var_dump($data_from_post);
select=one&select=two&select=three&button=submit