我正在一个struts2项目,我有3个html选择控件每个依赖于以前的选择。假设第一个选择是针对国家,第二个针对国家,第三个针对城市。状态选择中的选项列表将被过滤以仅显示该国家的状态等。由于其他限制,我使用的是基本的html选择控件而不是struts2。下面是我当前如何填充选择一个样本:struts2:更新第二选择基于第一选择值使用javascript和jquery
<select id="stateSelect" name="selectedState">
<s:iterator value="#session['myModel'].states" status="itr">
<option value="<s:property value="code"/>">
<s:property value="label"/>
</option>
</s:iterator>
</select>
我认为我需要做的是onchange事件做一个AJAX调用来检索基础上,选择了“全国”,“国家”的名单。问题是:
1.我该如何使用jQuery来做这个ajax调用?
2.我需要通过什么作为ajax调用的URL?只是行动名称?
3.我如何解析结果?从java代码中,我可以返回具有“代码”和“标签”以及其他属性的“状态”对象列表。我该如何解析JavaScript中的这个列表并为select标签生成适当的选项?
我以前做过这个。我会做jonathan建议使用struts2-json-plugin(它非常易于使用),使用它的动作会返回一个json字符串。如果你使用chrome,你会在屏幕上看到它,用firefox你会看到它使用萤火虫。有了json,你可能会使用jQuery的$ .getJSON()这个页面上的cat示例在启动时帮助了我很多:http://api.jquery.com/jQuery.getJSON/您可以将它复制到您自己的页面中,它将使用json和cat图像离开闪烁的网站,让你使用json而不需要服务器。 – Quaternion