我有一个带单选按钮的表单,单击时我将它传递给一个servlet,它从mysql表中获取数据并将其显示在带有复选框的同一页面中。
<input type="radio" name="id" value="1">
<input type="radio" name="id" value="2">
<script>
$(document).ready(function(){
$('input[name=id]').change(function (){
var var_name = $(this).val();
console.log(var_name);
$.getJSON("ServletCode", "id="+var_name,function(data){
var myValues = data.toHtml;
$("#guts").html(myValues);
});
});
});
</script>
我的servlet代码是:
JSONObject jsonObj = new JSONObject();
List<String> myList = new ArrayList<String>();
username = rs.getString("name");
id = rs.getString("userid");
myList.add(username);
myList.add(userid);
jsonObj.put("toHtml", myList.toArray());
response.setContentType("application/json");
response.getWriter().write(jsonObj.toString());
我想使用这些值“id”和“name”以及一个复选框创建一个表。当单击复选框时,我需要再次显示从mysql获取的“标记”。
答案 0 :(得分:1)
如果我理解正确,你的JSON将是
{"toHtml":["someNameValue", "someUserId"]}
但是,如果您将拥有多个username-id对,那些可能需要自己的JSON对象。迭代它们会更容易
您要做的是使用javascript创建表格
var table = "<table>";
table += "<thead><tr><th>username</th><th>id</th></tr></thead>";
table += "<tbody>";
// loop through the array elements and create rows
table += "</tr><td>" + /* get the username from the json */ + "</td>";
table += "<td>" + /* get the userid from the json */ + "</td>";
// add a javascript callback to a checkbox to display the grades in a similar way
// done loop
table += "</tbody>";
然后,您可以将此表附加到其他html元素并使其可见。