0

我希望如果用户输入数字数据,它应该左对齐,如果他输入其他数据类型,那么它应该左对齐。文本对齐我可以给 css 属性 text-align:right。用户输入数据时如何找到数据类型?我正在使用 jquery 数据表。

4

1 回答 1

0

这不是 Rails 的问题。如果您想根据单元格中内容的性质设置 css 属性,我强烈建议您使用 jQuery / Javascript 解决方案。

你可以这样做:

$(document).ready(function(){
    $("td").each(function() {
       if (parseInt($(this).text()) > 1) {
            $(this).css("text-align", "right");
        }
    });
});

对于更复杂的解决方案,您可以实现自己的 Jquery 过滤器,例如:

$.extend($.expr[":"], {
  expr: (function() {
    var op = {
      '=': function(n1, n2) { return n1 == n2; },
      '!=': function(n1, n2) { return n1 != n2; },
      '>': function(n1, n2) { return n1 > n2; },
      '>=': function(n1, n2) { return n1 >= n2; },
      '<': function(n1, n2) { return n1 < n2; },
      '<=': function(n1, n2) { return n1 <= n2; }
    };
    var ops = [];
    for (p in op) {
      ops.push(p);
    }
    var r = new RegExp("^\\s*(" + ops.join("|") + ")\\s*(-?\\d+(?:\\.\\d+)?)\\s*$");
    return function(elem, i, match) {
      var m = r.exec(match[3]);
      return m && op[m[1]](parseFloat($(elem).text()), parseFloat(m[2]));
    };
  })()
});

这将允许您根据数字约束过滤值,例如:

$("td:expr(>5)").css("text-align", "right");
于 2012-09-21T11:59:41.127 回答