2

我有一个问题,找不到任何解决方案。也许有人有类似的问题。这是表格:

<form class="filter-form" name="filter_form" action="[url]" method="POST">

<select name="active_filter" style="display: none;">
    <option value="all">All</option>
    <option value="active">Active</option>
    <option value="inactive">Inactive</option>
</select>


<select name="date_filter" style="display: none;">
    <option value="date_desc">Desc</option>
    <option value="date_asc">Asc</option>
</select>


</form>

我正在使用 jQuery 在选项上设置 selected="selected"(我必须这样做,因为我设置了“下拉菜单”的样式)。jQuery 表单之后看起来像这样:

<form class="filter-form" name="filter_form" action="[url]" method="POST">

<select name="active_filter" style="display: none;">
    <option value="all">All</option>
    <option value="active" selected="selected">Active</option>
    <option value="inactive">Inactive</option>
</select>

<select name="date_filter" style="display: none;">
    <option value="date_desc">Desc</option>
    <option value="date_asc" selected="selected">Asc</option>
</select>

</form>

但后来我跑了

$(".filter-form").serialize();

或只是提交表格

$(".filter-form").submit();

我只收到第一个选项元素的响应:

"active_filter=all&date_filter=date_desc"

此问题仅在 Firefox 中出现。我真的很感激任何帮助。谢谢。

PS对不起我的英语不好^^,

4

2 回答 2

0

在 Firefox 中测试,它工作正常。

$(function(){
    $("#disp").text($(".filter-form").serialize());
});

这是演示:http: //jsfiddle.net/ashishanexpert/m8uXd/

于 2013-12-26T09:25:12.280 回答
0

样式=“显示:无;”

这是个问题

将它们设置为可见性:隐藏和位置:绝对。这些字段不会以 display:none 发送到服务器,但会以可见性:hidden 的形式发送。通过将“位置”切换为“绝对”,您应该获得相同的视觉效果。

于 2013-11-03T20:50:50.167 回答