更新表格单元格

时间:2013-02-04 09:36:14

标签: javascript jquery html ruby-on-rails json

这是我的html表单:

<form name="input" action="html_form_action.asp" method="get">
   <input type="checkbox" id="mycheckbox">Don't show me again<br>
   <input type="submit" id="Submit">
</form> 

我有一张桌子,叫做“mytable”。该表包含:name(字符串),box(boolean)。

我试着做下一件事: 当用户选中don't show me again的框时,我想更新表格的框(假设id为6的行)。

P.S。表格的方框为False。

所以我必须做类似的事情:

$("#submit").click(function() {
    if($("#mycheckbox").is(':checked')) {
        //here I have to update the table in the database
    }
});

我该怎么做?

我发现了php的例子,但我不想用php做。

更新:

根据您的回答,我想用Ruby-on-rails来做。

我发现了这个:

update_sql = "update mytable set box = TRUE where id = 6"
affected_rows = Job.connection.update(update_sql)

任何帮助表示赞赏!

4 个答案:

答案 0 :(得分:1)

$("#submit").click(function() {
    if($("#mycheckbox").is(':checked')) {
        $.ajax({
             url: 'post.php',
             cache: false,
             success: function() {
                  alert("done");
             }
        });
    }
});

您可以使用$.ajax更新数据库中的表格。只需创建post.php文件并在其中设置一个更新表的查询。

此外,PHP使用mysqli连接到最新版本的数据库。不推荐使用mysql_个函数。

答案 1 :(得分:1)

不幸的是,你需要像php这样的某种服务器脚本来与mySQL通信:(

Query mySQL natively from JQuery without the need for PHP etc

答案 2 :(得分:1)

您可以在服务器上使用您喜欢的任何语言(even JavaScript),但是您需要服务器端代码来处理HTTP请求(您可以使用XMLHttpRequest从JavaScript进行处理)并与之交互数据库中。

(注意:&#34;您喜欢的任何语言和#34;受到安装的内容或您可以在服务器上安装的内容(或您移动到的服务器)的限制。)

答案 3 :(得分:1)

您需要创建一个接受ajax请求的控制器,但首先将js更新为此。

# js
$("#submit").click(function() {
  $.ajax({
    url: '/my_tables/' + <id of resource to update>,
    type: 'PUT',
    data: { my_table: { box: $("#mycheckbox").is(':checked') } }
  });
});

创建一个名为MyTablesController

的控制器
# my_tables_controller.rb
class MyTablesController < ActionController::Base
  def update
    @my_table = MyTable.find params[:id]
    @my_table.update_attributes params[:my_table]
    # do something else here like a redirect ...
  end
end

这是它的要点。如果你无法使它工作,你可能需要从更基本的教程开始。祝你好运!