修剪jquery中的值

时间:2011-04-27 06:02:26

标签: jquery

这是我的输入文本框

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");
    }

3 个答案:

答案 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    '));