2012-03-11 68 views
0

我似乎有一個奇怪的情況。下面的問題描述。防止HTML選擇/選項從jQuery後重置

在我的Web應用程序中,我有三個選項卡,用戶可以在其中輸入和查看信息。主要選項卡包括:列表,時間首選項和搜索結果。在「時間首選項」選項卡中,有一系列用戶可以選擇的下拉選擇選項(可能是大約30個或更多的dropDown框),選項本身是從php腳本生成的。

Small Image

部分腳本我使用生成的選項。

<?php 
// Create options for hour 
for($i = 1; $i < 13; $i++) 
    $hourOptions.="<OPTION VALUE=\"$i\">".$i.'</option>'; 
?> 

我有時間偏好選項卡下拉框使用jQuery的從一個單獨的JS文件導入的幫助,其中價值。員額我所有的數據從我的名單和時間偏好底部的生成按鈕。唯一的問題是,當我回到之前的選項卡時,我的下拉框被重置。它會生成很好,我的列表仍然保留,但我所有的下拉框重置。

這是我如何檢索我的JS文件中選定的數據。轉換是我用來轉換爲24小時,所以可以忽略。這些線中也有大約10-15個允許不同的時間表,所以它們都使用$ .post發佈到PHP文件。我使用ALERT進行了測試,並吐出了時間。在$ .post之前,我可以檢索它,但是,$ .post之後它是空白的。任何提示/提示肯定會有所幫助。無論是將選定選項設置爲原始狀態之後的方式,還是僅僅防止其發生在第一位。

MWFStart = convertTime($('#MWFStartHour').val(),$('#MWFStartMinute').val(),$('#MWFStartMeridian').val()); 
+0

首先 - 感謝馬特清理起來。其次,我們可以看到$ post代碼和DOM的結構,從「三個主要選項卡」的容器開始。如果它很大,你可以在http://jsfiddle.net/或http://pastebin.org一起折騰。 – Ohgodwhy 2012-03-11 23:56:41

+0

這是我的HTML部分爲3個選項卡:http://pastebin.com/Q1K6CaTY 和我的$ .post代碼:http://pastebin.com/Z8AaQu8g 如果您需要進一步的解釋,請讓我知道。非常感謝,謝謝! – 2012-03-12 00:14:41

+0

好的,很抱歉問,但只是要清楚 - 你的處理程序語句中使用了return false或preventDefault()或stopPropagation()方法來執行該帖子,對嗎? – Ohgodwhy 2012-03-12 00:21:39

回答

1

在你

$("#whatever").click(function(){ 

添加一個 「e」,所以:

$("#whatever").click(function(e){ 

然後使用preventDefault()方法阻止默認動作提交。

$("#whatever").click(function(e){ 
    e.preventDefault(); 

看看是否給你任何幫助。