这是我的输入文本框
input type="text" id="country" name="country" class="input_text"
从jquery
中计算来自数据库国家/地区的值var country;
jQuery(function(){
$("#country").autocomplete("countries.jsp");
});
它运行正常,但问题是单击下拉值会在文本框中显示该值,而在文本框中显示则在国家和州之间占用5个额外空间, 任何人都告诉我如何在国家和州之间只有一个空格来修剪这个值
修改
是的,它只是来自服务器的文本框,它占用了大量的空间
try {
ResultSet rs = null;
java.sql.Statement stmtGet = null;
stmtGet = pg.gclsWFDbUtil.getDbConnection().createStatement();
String query = request.getParameter("q").toLowerCase();
String QueryString = "Select country,state from emp_master where country like '"
+ query +"%'";
rs = stmtGet.executeQuery(QueryString);
response.setHeader("Content-Type", "text/html");
while (rs.next()) {
out.print(rs.getString(1)+"");
out.print(rs.getString(2)+"\n");
}
答案 0 :(得分:1)
以下是我要做的事情 clientside 。理想情况下(不,实际上),这应该在 serverside 完成,因为对于没有JavaScript和俄罗斯黑客的人来说这根本不起作用,他们想要你的webapp:
String.prototype.innerTrim = function() {
var temp = this;
while (temp.indexOf(' ') != -1) {
temp = temp.replace(' ', ' ');
}
return temp;
};
alert('t es t'.innerTrim());
// Outputs: t es t
令人惊讶的是,这个功能几乎与正则表达式解决方案一样快。您的浏览器在测试时会冻结约10秒,但它会输出每次迭代的执行时间:http://jsfiddle.net/Blender/UrQNs/
答案 1 :(得分:1)
使用此JavaScript可以使用一些正则表达式将多个空白字符替换为单个空格:
str = str.replace(/\s{2,}/g,' ');
你应该真正做这个处理服务器端的王者,这样你就可以在发送给客户端之前获得正确格式的数据。
答案 2 :(得分:0)
使用jQuery trim,简单明了: http://api.jquery.com/jQuery.trim/
alert($.trim(' so much space around me '));