用于开发我的webApp我使用struts 2 hibernate 3
我希望在更改<s:select/>
标记中的值时运行查询,并在隐藏的输入中传递此查询的结果
并且我想在更改选择标记的元素时保持在同一页面
我的页面jsp就像这个例子一样:
<form name="evalform" action="saveOrUpdateSousEval" method="post" >
<s:iterator begin="1" end="4" status="status">
<s:hidden name="SousEval_Note"
value="99"
placeholder="entrer Note"
/>
<s:select
headerValue="---------------- Select ---------------"
headerKey="-1"
list="SousItemsListGrille"
listKey="SousItem_ID"
listValue="SousItem_Libelle"
name="sousEvalItem.SousItem_ID"
cssClass="selectedId"
/>
</s:iterator>
</form>
这里我首先要获取所选元素的id:
<script type="text/javascript">
$("#idselectdiv .selectedId").change(function () {
var idd = $(this).val();
//each element selected in each select tag has an id and i want excute query of this id
alert(" id selected "+idd);
$.ajax({
//somthing here !!
});
});
</script>
在struts中。 xmli定义了这个动作:
<action name="ponderation" method="getItembyPonderation" class="action.classAction">
<result name="success" >/oki.jsp</result>
</action>
在我的课程中我有这个方法:
public Double getItembyPonderation(){
System.out.print("enter getItembyPonderation ok");
Double b = null;
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
List<Double> a=selectponder.selectponderation(Long.parseLong(request.getParameter("SousItem_ID")));
while (a != null) {
return b=a.get(0);
}
return b;
}
在我的课堂上:
public List<Double> selectponderation(Long idsousitem){
List<Double> valponderation = null;
try {
valponderation = session.createQuery("SELECT a.ponderation FROM items a, sousitems b WHERE a.Item_ID = b.Item_ID and b.SousItem_ID="+idsousitem).list(); ;
} catch (Exception e) {e.printStackTrace();}
return valponderation;
}
这里我需要做到这一点的想法
答案 0 :(得分:0)
<script type="text/javascript">
$("#idselectdiv .selectedId").change(function () {
var idd = $(this).val();
//each element selected in each select tag has an id and i want excute query of this id
alert(" id selected "+idd);
$.ajax({
url : 'your_action name_where_you_execute_query',
data:{
idd:idd
},
type : 'GET',
dataType : 'as_you_want_from_your_action'
});
});
</script>
以上是如何调用操作并将参数传递给该操作的示例。 你明白了吗?