enter image description here我做了什么: 我已经动态创建了多个下拉菜单。在此下拉列表中选择任何选项时,必须自动填充另一个下拉列表。它们是必须完成自动填充的多个下拉数。
问题面临: 它在第一次下拉时正常工作。但是当我从下一个下拉菜单中选择该选项时,它也会在第一个自动填充的下拉菜单中自动填充选项。
JSP:
enter code here
$(document).ready(function(){
<%String subAction=(String)request.getAttribute("subAction");
ArrayList<String> fieldNameList=(ArrayList<String>)request.getAttribute("fieldNameList");
int noOfFields=(Integer)request.getAttribute("noOfFields");
if(subAction!=null && subAction.equals("view") ){%>
$("#home").hide();
$("#returnedFromServlet").show();
<%}
else{%>
$("#home").show();
$("#returnedFromServlet").hide();
<%}%>
$("#returnedFromServlet").load(function(){
alert("Image loaded."); });
$(".selectType").change(function(){
$.get('Upload', {subAction:'autoPopulate',ctype:$(this).val()},function(responseJson) {
var html;
var $select = $('#autoPop');
$.each(responseJson.arrayName, function(index,value) {
html += '<option name="'+value.id+'" >'+value.name+'</option>';
});
$select.html(html);
},'json');
}); });
Servlet:
JSONArray cellarray = new JSONArray();
JSONObject cellobj = null; //new JSONObject();
JSONObject jo=new JSONObject();
// String country=request.getParameter("countryname");
for(String s: populateFields){
cellobj = new JSONObject();
cellobj.put("id", option);
cellobj.put("name", s);
cellarray.add(cellobj);
}
jo.put("arrayName",cellarray);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jo.toString());
答案 0 :(得分:0)
你能发贴html吗?我认为问题在于这一行
html += '<option name="'+value.id+'" >'+value.name+'</option>';
在选择污染后,您需要删除'html'变量中的数据。