我是jsp和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();
}
});
我现在的问题是我需要名为“unis”的选择的值,以便使用以下方法检索所选大学的所有院系:
University u = UniversityLocalServiceUtil.getUniversity(primary_key_of_the_university);
List<Faculty> fs = u.getFacultys();
答案 0 :(得分: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);
}
});
语法可能不正确,但这是它的要点。
答案 1 :(得分:0)
我想你在寻找这个?
var uni = $(this).val();
$("<option></option").val(uni).text(uni).appendTo($("select.facs"))