2015-05-10 48 views
-1

我正在構建搜索表單,並且不希望將未使用的輸入包含在我的GET方法中。只有在選擇框中選擇了某些內容時才顯示輸入[字段]的最佳方式是什麼?它們可以在DOM中隱形嗎?如何根據選定的值動態添加和刪除表單元素到現有表單

+0

您可以addClass/removeClass到要被添加到基於在選擇框選定值您的要求的元素。在進行GET請求時,只能根據所選值選擇「特定」類。 – AdityaParab

+0

你必須展示你所嘗試過的東西,以獲得更具體的答案。嘗試按照你的方式實現,然後我們將解決你遇到的任何問題 – ashishraaj

+0

我試過'show()'和'hide()'jquery函數,但元素仍然在DOM中。我不想這樣做,因爲Wordpress搜索表單會自動獲取輸入並將它們發送給GET。 – worldwildwebdev

回答

2

完全基於假設:

if ($('#something').val() == 1) { 
    // Show input 
    $('#input_1').show(); 
} else { 
    // Hide input 
    $('#input_1').hide(); 

    // Remove if don't want to include in POST 
    $('#input_1').remove(); 
} 

編輯

var input_1 = '<input id="#input_1"/>'; 

if ($('#something').val() == 1) { 
    // add input 
    $('#addHere').append(input_1); 
} else { 
    // Remove input 
    $('#input_1').remove(); 
} 
+0

這是完美的!但是,當用戶切換回他的選擇並且該元素不能被恢復時會發生什麼。這可能是一個真正的問題。有沒有解決的辦法?謝謝! – worldwildwebdev

+0

@destructor您必須在選擇更改事件時調用此函數。如果您想刪除元素,請在提交表單前使用remove調用相同的函數。 – Tushar

+0

我明白@Tushar,謝謝!我的觀點是,這不是我尋找的東西。我想說的是,在'remove'函數執行完畢後,如果#something的值發生更改,則該字段將消失,並且無法使用此示例返回到DOM。 – worldwildwebdev

相關問題