2013-03-02 60 views
1

我有2個選擇框與Java腳本。當我使用filter1時,我的網址變爲www.url.com/ & filter [] = 6827這個工作完美,所選的選項也沒有任何問題。但我想要一個新的選擇框像filter2多個過濾器。當我像下面一樣使用它時,網址如下所示:www.url.com/ & filter []%3D = 6727%26filter []%3D6728通過選擇框與jQuery的多個獲取值Onchange

有人可以幫助解決這個問題嗎?我認爲它在jQuery中...不知道這一點。

<div class="filter1"> 
    <div class="title">Filter1</div> 
    <form action="filter1" method="get" id="input-custom-filter1"> 
    <select name="filter[]=" onchange="$('#formFilters').submit();"> 
    <option value="6725">Option1</option> 
    <option value="6726">Option2</option> 
    <option value="6727">Option3</option> 
    <option value="6728">Option4</option> 
    </select> 
</div> 
<div class="filter2"> 
    <div class="title">Filter1</div> 
    <form action="filter2" method="get" id="input-custom-filter2"> 
    <select name="filter[]=" onchange="$('#formFilters').submit();"> 


    <option value="6725&filter[]=6726">Option1 & Option2</option> 
    <option value="6727&filter[]=6728">Option3 & Option4</option> 
     </select> 
    </div> 


<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#formFilters').submit() { 
      } 
     }); 
    }); 
</script> 

回答

0

該代碼不能理解您所經過的所有符號。 我不確定你想要在這裏實現什麼,但它顯然不是你的JavaScript錯誤,而不是你的HTML。 儘管使用6727 & filter [] = 6728作爲一個值是一個糟糕的想法。

我預計錯誤是您獲取提交信息的地方。您可能有錯誤定義並重定向到網址。

0

上面的HTML代碼片段中有幾個問題。

  1. 請從<select name="filter[]="刪除=,name屬性是表示表單字段的名稱,如果設置方法=「獲取」,瀏覽器會自動添加=構造URL。

  2. <option value="6725&filter[]=6726">將不會滿足您的要求。值屬性中的所有內容都將被視爲特定表單字段的值,在您的情況下,它的值爲filter [],因此被編碼。這就是爲什麼你看到%3D

  3. 不用於傳遞表單字段的多個值。自然複選框是這種情況下的選項。

所以在sencond形式,則可以通過使用複選框

<input type="checkbox" name="filter[]" value="6725"/> 
<input type="checkbox" name="filter[]" value="6726"/> 

再次傳遞多個值,請從任何形式的磁場元件屬性中刪除=

+0

謝謝你的回答,我已經跟着你的第一步。就像你在第二步中說過的那個洞問題。有沒有解碼這個選項,因爲我不想使用複選框。 – gijsnl 2013-03-05 15:40:29

+0

我發佈了一個新的答案,並希望它可以解決您的問題。 – spiritwalker 2013-03-06 00:35:19

0
<option value="6725&filter[]=6726">Option1 & Option2</option> 
<option value="6727&filter[]=6728">Option3 & Option4</option> 

問題與您的選項值試圖去改變它..

0

@gijsnl URL編碼是默認的瀏覽器的行爲(因爲你使用的形式得到方法),我不認爲它的好想法破解它。就你而言,你可以使用多選來實現目標。已經有一個帖子在StackOverflow上,

How to post the selections of an HTML List Box with multiple selected values

我的如下建議, 1。刪除等號名稱*選擇元素的屬性; 2.不要在一個選項元素添加多個值 3.使用形式而不是得到,除非你有這樣做的一個非常有力的理由。

相關問題