我有一个搜索表单,其中有一些用户可以留空的下拉列表。现在我想在提交表单之前删除这些select元素。jquery删除空白下拉列表
我尝试这样做,但这个功能我所有的选择下拉菜单被删除:
$('select option[value=""]').parent().remove();
感谢您的帮助 欢呼 丹
我有一个搜索表单,其中有一些用户可以留空的下拉列表。现在我想在提交表单之前删除这些select元素。jquery删除空白下拉列表
我尝试这样做,但这个功能我所有的选择下拉菜单被删除:
$('select option[value=""]').parent().remove();
感谢您的帮助 欢呼 丹
我假设你的选择都与价值""
一个选项,它被用作空的选项。
然后你的jquery调用有效地删除所有这些选择。
当你要选择和删除选择元素,其中用户没有设置另一种选择,你可以写:
var s = jQuery("select").filter(function() {
return !this.value;
}).remove();
您应该更改您的视图。当你创建一个选择使用“空”选项,如:
<form class="form">
<select id="select1">
<option value="-1"> - </option>
....
</select>
<select id="select2">
<option value="-1"> - </option>
....
</select>
</form>
然后,当表单提交删除所有的选择。我不明白为什么你必须删除它们......你是否正在通过Ajax调用来提交表单?
$(document).ready(function() {
$('.form').submit(function(e) {
var selects = $(this).find('select');
$.each(selects, function(idx, value) {
if($(this).val() === -1) {
$('.form').find($(this).attr('id')).remove();
}
})
});
});
感谢您的帮助,但没有奏效。如果你想知道为什么我想这样做:我正在使用一个插件来实现数据库搜索,它只能同时使用一个术语。我写了自己的表格,允许用多个词条进行搜索。但是,如果用户不需要搜索的所有字段,则会用空值执行,因此会显示一些不想要的结果。如果我在发送之前删除这些字段,那么就不会发生这种情况,我不必在插件文件上摆弄,并且无需重新输入我的自定义代码即可更新插件到新文件中。 –
假设,如果在选择了第一个选项 - 意味着下拉WASN”牛逼选择,我建议:
$("option:first-child:selected")
选择被选中(默认情况下所有的第一个“选项”标签,如果选择了没有其他选项 比你可以选择自己的父母的。按照之前的操作删除。
希望这是帮助
你如何留空'select'?只留下第一个选项? – ItayB