小编Dav*_*ino的帖子

仅在Firefox中的JQuery AJAX异常:"节点无法插入层次结构中的指定点"(HierarchyRequestError)

非常奇怪的问题:我有一个2部分的下拉列表,选择一个州将添加第二个下拉列表,为您提供该州的MSA区域列表.

这是通过对控制器的JQuery Get请求来完成的,该控制器返回Select下拉列表中的区域列表,例如

jQuery(function($) {
  // when the #area_state field changes
  $("#area_state").change(
    function() {
      // make a call and replace the content
      var state = $('select#area_state :selected').val();
      if(state == "") state="0";
      jQuery.get(
        '/getmsas/' + state,
        function(data){ $("#msas").html(data); }
      )
    return false;
    }
  );
})
Run Code Online (Sandbox Code Playgroud)

注 - 此代码改编自此处的教程:http://www.petermac.com/rails-3-jquery-and-multi-select-dependencies/

这在Chrome和IE中运行良好,但在Firefox(13.0.1)中它不起作用,产生两个错误:

Error: junk after document element
Source File: http://localhost:3000/getmsas/Connecticut
Line: 2, Column: 1
Source Code:
<select id="area_msa" name="area[msa]"><option value="">Select Area (Optional)</option>
Run Code Online (Sandbox Code Playgroud)

Error: uncaught exception: [Exception... "Node cannot be inserted …
Run Code Online (Sandbox Code Playgroud)

ajax jquery ruby-on-rails ruby-on-rails-plugins

5
推荐指数
1
解决办法
8483
查看次数

计算行之间的差异比for循环更快?

我有一个如下所示的数据集:

ID   |   DATE    | SCORE
-------------------------
123  |  1/15/10  |  10
123  |  1/1/10   |  15
124  |  3/5/10   |  20
124  |  1/5/10   |  30
...
Run Code Online (Sandbox Code Playgroud)

因此,要将上述代码段作为数据框加载,代码为:

id<-c(123,123,124,124)
date<-as.Date(c('2010-01-15','2010-01-01','2010-03-05','2010-01-05'))
score<-c(10,15,20,30)
data<-data.frame(id,date,score)
Run Code Online (Sandbox Code Playgroud)


我正在尝试添加一列来计算"自此ID的最后一次记录以来的天数".

现在我使用的FOR循环看起来像这样:

data$dayssincelast <- rep(NA, nrow(data))
for(i in 2:nrow(data)) {
  if(data$id[i] == data$id[i-1]) 
    data$dayssincelast[i] <- data$date[i] - data$date[i-1]
}
Run Code Online (Sandbox Code Playgroud)


有更快的方法吗?(我看了一下APPLY,但除了FOR循环之外,还无法找到解决方案.)

提前致谢!

r

5
推荐指数
1
解决办法
1908
查看次数

SQL Group By/Count:跨多列计算相同的值?

我正在试图弄清楚如何编写一个计算跨多个列的值的查询,结果表在每列中都有一个计数,用于任何列的每个可能值.

示例:说我有mytable

Source data table:

P1  P2  P3
-----------
a   b   a
a   a   a
b   b   b
a   b   b
Run Code Online (Sandbox Code Playgroud)

我想要一个计算每列中的a和b的查询,产生类似于:

Desired query output:

     P1  P2  P3
   -------------
a |  3   1   2
b |  1   3   2
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过以下方式轻松地为单个列执行此操作:

select P1, count(*) as mycounts
from mytable
group by P1
Run Code Online (Sandbox Code Playgroud)

但是列可以做到这一点吗?

我正在使用SQL Server 2008(T-SQL).在此先感谢您的帮助!

sql t-sql group-by count sql-server-2008

1
推荐指数
1
解决办法
5164
查看次数