2012-01-18 49 views
1

Iv'e使用javascript獲得了分割菜單系統。因爲即時消息請求信息,即時使用輸入標籤。<input type =「hidden」功能問題

我不想要checkboxes,textboxes,radio butons等干擾設計。所以我嘗試了隱藏的輸入類型。保持設計,但如果沒有選擇任何東西,則保持恢復到女性或列表中的第一個。例如。我選擇男性並提交。男性選擇輸入我的代碼。現在,我做了其他的事情,然後點擊提交,下面的代碼恢復到女性與我說的這樣。它可以通過支票或收音機來做到這一點,那爲什麼要用「隱藏」來做到這一點。

此外,我應該使用什麼樣的輸入類型,如果我不想打亂功能或設計,或者我該怎麼辦。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".dropdown a").click(function() { 
      $(".dropdown ul").toggle(); 
     }); 

     });         
     $(".dropdown ul li a").click(function() { 
      var text = $(this).html(); 
      $(".dropdown a span").html(text); 
      $(".dropdown ul").hide(); 
      $("#result").html("Selected value is: " + getSelectedValue("sample")); 
     }); 

     function getSelectedValue(id) { 
      return $("#" + id).find("li a span.value").html(); 
     } 

     $(document).bind('click', function(e) { 
      var $clicked = $(e.target); 
      if (! $clicked.parents().hasClass("dropdown")) 
       $(".dropdown ul").hide(); 
     }); 

    }); 

<form action="" method="get"> 
<div class="sort"> 
<ul> 
    <li id="sample" class="dropdown"> 
    <a href="#">Gender |<span>{{ gender }}</span></a> 

    <ul><li><a href="#"><input id="radio1" name="Gender" value="Female"/>Female</a> 
      <a href="#"><input id="radio2" name="Gender" value="Male"/>Male</a> 
      <a href="#"><input id="radio3" name="Gender" value="Both Sexes"/>Both Sexes</a> 

    </li></ul> 
    </li> 
</ul> 
+0

恢復原狀。有沒有其他方法可以恢復? - 語法納粹 – j08691 2012-01-18 01:32:45

回答

2

那是因爲你的隱藏輸入字段都命名爲同樣的事情,因此最後一個定義將一直生效

編輯:取決於處理請求的服務器語言,第一個,最後一個或整個列表可能有效。例如,PHP只會識別上次提交的值。

+0

您的第一個意思是 – 2012-01-18 01:22:25

+0

所有的值將被提交。 – 2012-01-18 01:25:19

1

您需要使用radio類型的輸入,但是您可以使用style="display:none"將它們從視圖中刪除。

+0

不添加style =「display:none」填滿它 – 2012-01-18 01:33:55

+0

以這種方式對它們進行樣式設置會阻止它們的選擇,可能除了腳本。 – 2012-01-18 01:38:51

3

您正在使用這些完全錯誤的。點擊A標籤完全沒有改變。你爲什麼期望它?

您應該使用單選按鈕,但正確應用樣式。或者將您的隱藏字段減少爲一個,然後使用Javascript更改其值。但這是一個糟糕的設計,因爲用戶被給予沒有指示他們已經選擇了什麼。

+1

我不明白爲什麼只顯示無線電是「干擾設計」(OPs description)。什麼是鏈接表明?不是「選擇」。也許這個問題有更多的表現,但這似乎是一個不好的方法。我同意。 – 2012-01-18 01:36:10

+0

已編輯,也許能得到一個更好的主意 – 2012-01-18 01:47:21

+0

真是一團糟。我的答案是立場。通過添加已經重複的隱藏字段的另一個實例,您的其他代碼實際上使其更糟*。 – 2012-01-18 01:55:23