2012-03-22 42 views
0

我將jquery提前自動填充腳本合併到由2個下拉自動提交搜索框組成的現有搜索頁面中。那些自動提交使用onchange完成的地方,他們是自我引用。只要用戶在第一個下拉列表中選擇了該類別,第二個下拉列表返回的頁面就會填充不斷增加的選項。使用以下代碼提交的頁面;需要語法將jquery填充字段值攜帶到下一個表格

<form name="nav"><select name="platform" id="platform" onChange="document.location.href=document.nav.platform.options[document.nav.platform.selectedIndex].value"> 

當用戶選擇第一個下拉菜單完成後,頁面會自動返回並縮小第二個下拉菜單的結果。問題是第二次下降對用戶來說太大了以至於無法操作。

不知道jquery我已經能夠提前將自動完成腳本移植到現有的搜索表單中,以替換第二個下拉列表。但是,我無法弄清楚如何將jquery搜索的值傳遞到同一頁面以使php語句執行它。

下面的jquery用我需要結轉的記錄的id填充第二個字段。這是來自jquery的功能;

<script type="text/javascript"> 
function lookup(inputString) { 
    if(inputString.length == 0) { 
     // Hide the suggestion box. 
     $('#suggestions').hide(); 
    } else { 
     $.post("rpc.php", {queryString: ""+inputString+""}, function(data){ 
      if(data.length >0) { 
       $('#suggestions').show(); 
       $('#autoSuggestionsList').html(data); 
      } 
     }); 
    } 
} // lookup 

function fill(thisValue) { 
    $('#inputString').val(thisValue); 
    setTimeout("$('#suggestions').hide();", 200); 
} 
</script> 

這是頁面底部的html,最後包含我需要前進的記錄的id。

<div> 
    <form name="dash3.php"> 
     <div> 
      Start typing the name of the item, select the correct title when it appears: 
      <br /> 
      <input type="text" name="papa" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" /> 
      <input type="hidden" value="?list=1" /> 
     </div> 

     <div class="suggestionsBox" id="suggestions" style="display: none;"> 
      <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" /> 
      <div class="suggestionList" id="autoSuggestionsList"> 
       &nbsp; 
      </div> 
     </div><input type="submit" value="Submit"> 
    </form> 
</div> 

坐在頁面頂部的php正在尋找這個來觸發添加;

if ($_GET['list']==1) { 

我需要設置「列表」等於1(你可以看到我想,與隱藏的輸入),並且命名爲$ VID PHP變量設置爲jQuery的類型的內容,提前結果,以便提交按鈕將向前傳遞值,php腳本將執行添加。我試過隱藏的領域,我試過將jquery的各個部分拼湊在一起,但我在java或jquery中沒有堅實的基礎,我想不出另一種方法來做到這一點。我對每個請求都有了進一步的瞭解,希望我已經把問題弄得足夠好,以便它能夠順利完成!非常感謝。

回答

0

從第一眼看來,它看起來像你正在更新模糊空值「inputString」輸入?你沒有向你的「填充」功能傳遞任何東西。

JQuery提供了簡單的事件處理程序,可以將該部分清理一下。

$(function(){ // <--This waits until load to initialize handlers 
    $("#inputString").blur(function(){ 
     alert($(this).val()); 
    }); 
}); 
相關問題