我试图根据另一个下拉列表的选择来填充一个下拉列表。我使用struts框架并使用jquery来解决上面的问题陈述。我的代码在使用.json()方法对服务器进行GET调用时陷入困境。有人可以帮我解决这个问题。
我的jquery代码:
<div id="Symptoms" style="display:none;">
<html:form id="iamhere" method="POST" action="symptoms" >
<p></p>
<p>Enter/Choose ailment :
<select id="diselc" name="AuthoringForm" size="1" >
<option selected="selected"> </option>
<option>Malaria</option>
<option>High Fever</option>
<option>Cholera</option>
<option>Diarrhoea</option>
</select></p>
<p>Choose ailment classification :
<select id="diselchild" name="AuthoringForm" >
<option>High</option>
<option>Medium</option>
<option>Low</option>
</select>
<fieldset style="width: 381px; height: 126px; padding: 2">
<legend align="left"></legend>
Tick off patient context :
<html:radio value="Men" name="AuthoringForm" property="patient_context" disabled="false"/>
Men
<html:radio value="Womwen" name="AuthoringForm" property="patient_context" disabled="false"/>
Women
<p>
<html:radio value="Child" name="AuthoringForm" property="patient_context" disabled="false"/>
Child
<html:radio value="Al" name="AuthoringForm" property="patient_context" disabled="false"/>
All
</fieldset>
<p>Enter Pre Conditions</p>
<p><html:textarea rows="2" name="AuthoringForm" cols="20" property="patient_precondition" ></html:textarea>
<p>Must Have Symptoms :
May Have Symptoms :</p>
<p><html:textarea rows="2" name="AuthoringForm" cols="20" property="must_have_symptoms"></html:textarea>
<!-- <input type="submit" value="Submit" name="B2">-->
<html:textarea rows="2" name="AuthoringForm" cols="20" property="may_have_symptoms"></html:textarea>
<input type="submit" value="Submit" name="symptomsButton"><input type="reset" value="Reset" onclick="clear_form_elements(this.form);"></p>
</html:form>
</div>
我的jquery:
<script>
$(document).ready(function() {
$("#diselc").change(function(){
fillOptions('diselc','diselchild');
});
});
function fillOptions(parentId,ddId) {
alert("atleast the call is being made in the fillOptions"+ddId);
var dd = $('#' + ddId);
alert("the value being passed is "+dd);
var jsonURL = 'http://localhost:8080/docRuleTool/decisiontreeAction.do?dd=' + ddId + '&val=' + $('#' + parentId + ' :selected').val();
$.getJSON(jsonURL, function(opts)
{
alert("just after calling the servlet stuff ");
$('>option', dd).remove(); // Clean old options first.
if (opts) {
$.each(opts, function(key, value) {
dd.append($('<option/>').val(key).text(value));
});
} else {
dd.append($('<option/>').text("Please select parent"));
}
});
}
</script>
有人可以帮助我。
答案 0 :(得分:0)
如@meloncholy所提出的那样发出错误回调
$.getJSON(jsonURL, function() {
//your code here
alert("success");
})
.error(function(jxhr) { alert(jxhr.ResponseText); });
查看错误处理程序是否被调用...