我有一個搜索表單,其中有一些用戶可以留空的下拉列表。現在我想在提交表單之前刪除這些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