我通过JSON从state.jsp接收数据,并在ID为textBox2的文本框中以auto.jsp显示数据,但是我无法在接收数据的地方编辑该文本框,为什么呢?
//auto.jsp:
$("#combo1").change(function() {
// by onchange event of comboBox, i am displaying string "anyname"
// on that below textBox.
$.getJSON('state.jsp', { combo1Val : $(this).val() }, function(responsedata) {
$("#textBox2").replaceWith(responsedata.name);
});
});
// i am displaying "anyname" here, but why i am not able
// to edit this text Box after displaying? I have not set it to readonly
<input type="text" id="textBox2" name="2ndtextBox/>
//state.jsp
<%@page import="net.sf.json.JSONObject"%>
<%@page import="net.sf.json.JSONArray"%>
<%
JSONObject arrayObj= new JSONObject();
arrayObj.put("name","anyname");// displaying "anyname" in that textBox
response.setContentType("application/json");
response.getWriter().write(arrayObj.toString());
%>
我在该文本框中显示字符串“ anyname”,但我现在无法编辑此文本框,为什么?我尚未将其设置为只读.任何帮助
解决方法:
.replaceWith()将匹配集替换为指定的值(文本,dom元素,jquery对象).因此,在代码中,您将使用响应数据替换while INPUT元素,而不是设置其值
$("#textBox2").val(responsedata.name);