2013-12-17 172 views
0

我是jsp和jquery的初學者,但我需要你的幫助來做一些事情。用jquery填充下拉列表使用另一個下拉列表

我檢索從我的portlet的所有實體大學,我與那些填充這樣的選擇:

<% 
List<University> us = UniversityLocalServiceUtil.getUniversitys(0, UniversityLocalServiceUtil.getUniversitysCount()); 
%> 

<div id="wrap"> 
<p>University</p> 

<div> 
    <label><span>Select an university:</span> <select 
     name="unis" style="width: 259px"> 
      <option value="">-- SELECT --</option> 
      <% 
       for (University u : us) { 
      %> 
      <option value="<%=String.valueOf(u.getIdUniversity())%>"> 
       <%=u.getName()%> 
      </option> 
      <% 
       } 
      %> 
    </select> </label> 
</div> 

然後我有一個隱藏的div,我想透露與填充所選大學的所有學院。

<div id="wraptwo"> 
<p>Faculty</p> 
    <div> 
    <label><span>Select a Faculty:</span> <select 
     name="facs" style="width: 259px"> 
      <option value="">-- SELECT --</option> 
     <!-- TODO HERE --> 
    </select> </label> 
</div> 

我的劇本表現出來:

<script> 
$("#wraptwo").hide(); 
$('select[name="unis"]').change(function() { 
    var uni = $(this).val(); 
    if (uni.length >= 1) { 
     $("#wraptwo").show(); 

    } else { 
     $("#wraptwo").hide(); 
    } 
}); 

我現在的問題是,我需要選擇名爲「清華紫光」的值,以便檢索所有所選大學的院系與方法:

University u = UniversityLocalServiceUtil.getUniversity(primary_key_of_the_university); 
List<Faculty> fs = u.getFacultys(); 

回答

1

嘗試this

$("select.unis option:selected").val();


要傳遞的值返回到服務器,你可以使用Ajax調用。類似這樣的:

var uni = $("select.unis option:selected").val(); 

$.ajax({ 
    url: '/your-url', // path to your url which gets this ajax request 
    method: 'get', // or a http method you want to use 
    data: { 
     uni 
    }, 
    success: function(response) { 
     alert(response); 
    } 
}); 

語法可能不正確,但這是它的要義。

+0

謝謝,但我該如何將該值傳遞給其他下拉菜單?或到一個jsp變量? – drstein

+0

JSP是服務器端,因此您需要使用ajax調用或表單提交將值傳遞迴服務器。 – Zach

0

我想你想找這個嗎?

var uni = $(this).val(); 
$("<option></option").val(uni).text(uni).appendTo($("select.facs"))