2012-04-25 40 views
2

我使用JSP,我想傳遞兩個參數以及jquery自動完成。我的第二個參數是選擇框的值。我已經使用了下面的代碼,但只獲得了選項中的第一個值。我檢查了返回選擇框值的函數,它只在頁面加載時被調用。有什麼方法可以解決我的問題嗎?jquery自動完成JSP中的多個參數

/* inside my page */ 


     jQuery(function() { 
    $("#branch").autocomplete("getbranchdetails.jsp", { 
     extraParams: { 
      filter: getDropdownValue() 
     } 
    }); 
}); 


    function getDropdownValue() { 
    var compId=document.getElementById("company").value; 
    return compId; 
    } 




     /* inside getbranchdetails.jsp */ 

     <% 
     String company=request.getParameter("filter"); 

     System.out.println("company :"+company); 


     getbranchdetails db=new getbranchdetails(); 
     String query = request.getParameter("q"); 
     List<String> agent = db.getData(query,brtype); 
     Iterator<String> iterator = agent.iterator(); 
     while(iterator.hasNext()) { 
     String agents = (String)iterator.next(); 
     out.println(agents); 
     } 
     %> 

我嘗試以下鏈接太多,但沒有運氣 http://123code.blogspot.in/2010/09/jquery-autocomplete-plugin-using.html

回答

1

更改此:

$("#branch").autocomplete("getbranchdetails.jsp"); 
extraParams: { 
    filter: getDropdownValue() 
} 
}); 

$("#branch").autocomplete("getbranchdetails.jsp", { 
    extraParams: { 
     filter: getDropdownValue() 
    } 
}); 
+0

感謝Mark Schultheiss,這是我在此輸入的錯誤。我現在在這個問題中編輯了它。 – arjuncc 2012-04-28 03:33:35

+0

@arjuncc - 您的問題目前沒有反映出帶有額外括號的聲明。 – 2012-04-30 12:34:56

+0

將其更改爲感謝幫助 – arjuncc 2012-05-02 04:02:33

0

看看這個的jsfiddle ... http://jsfiddle.net/PTeMy/

在自動完成,源可以被定義爲一個函數調用。使用它,你應該能夠建立自動完成列表,無論你想要的。

例如...

HTML

<input id="auto" type="text"> 

must contain.... 
<select> 
    <option value="a">a</option>   
    <option value="b">b</option>   
    <option value="c">c</option>   
    <option value="d">d</option>   
    <option value="e">e</option>   
    <option value="f">f</option>   
    <option value="g">g</option>   
</select>​ 

腳本

$(document).ready(function(){ 
    $('#auto').autocomplete({ 
     source: getTags() 
    }); 
}); 

function getTags(){ 
     var tags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "C", 
      "C++", 
      "Clojure", 
      "COBOL", 
      "ColdFusion", 
      "Erlang", 
      "Fortran", 
      "Groovy", 
      "Haskell", 
      "Java", 
      "JavaScript", 
      "Lisp", 
      "Perl", 
      "PHP", 
      "Python", 
      "Ruby", 
      "Scala", 
      "Scheme" 
     ]; 

    tags = $.grep(tags, function(t) { 
     return t.indexOf($('select').val()) > 0; 
    }); 

    return tags; 
} 

​ 
+0

的OP使用插件,而不是jQuery UI的自動完成。 – 2012-04-27 14:56:35

+0

對不起...錯過了。我會發表另一個答案。 – Trent 2012-04-27 15:01:35

0

嘗試......

$('#branch').autocomplete('getbranchdetails.jsp', { 
    mustMatch: false 
}); 

$('#branch').setOptions({ 
    extraParams:{filter: function(){return $('#company').val();} 
}); 
+0

謝謝,但它不適合我。 – arjuncc 2012-04-28 03:54:38