2015-09-26 159 views
2

我有一個搜索表單,其中有一些用戶可以留空的下拉列表。現在我想在提交表單之前刪除這些select元素。jquery刪除空白下拉列表

我嘗試這樣做,但這個功能我所有的選擇下拉菜單被刪除:

$('select option[value=""]').parent().remove(); 

感謝您的幫助 歡呼 丹

+0

你如何留空'select'?只留下第一個選項? – ItayB

回答

1

我假設你的選擇都與價值""一個選項,它被用作空的選項。

然後你的jquery調用有效地刪除所有這些選擇。

當你要選擇和刪除選擇元素,其中用戶沒有設置另一種選擇,你可以寫:

var s = jQuery("select").filter(function() { 
    return !this.value; 
}).remove(); 
0

您應該更改您的視圖。當你創建一個選擇使用「空」選項,如:

<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(); 
      } 
     }) 
    }); 
}); 
+0

感謝您的幫助,但沒有奏效。如果你想知道爲什麼我想這樣做:我正在使用一個插件來實現數據庫搜索,它只能同時使用一個術語。我寫了自己的表格,允許用多個詞條進行搜索。但是,如果用戶不需要搜索的所有字段,則會用空值執行,因此會顯示一些不想要的結果。如果我在發送之前刪除這些字段,那麼就不會發生這種情況,我不必在插件文件上擺弄,並且無需重新輸入我的自定義代碼即可更新插件到新文件中。 –

0

假設,如果在選擇了第一個選項 - 意味着下拉WASN」牛逼選擇,我建議:

$("option:first-child:selected") 

選擇被選中(默認情況下所有的第一個「選項」標籤,如果選擇了沒有其他選項 比你可以選擇自己的父母的。按照之前的操作刪除。

希望這是幫助