立即通过复选框切换布尔属性

时间:2012-05-16 13:26:48

标签: ruby-on-rails

我的应用程序中有布尔属性'completed'的任务。我希望能够选中该复选框并立即将该布尔属性从false更改为true(而不必单击提交按钮)。怎么做?

1 个答案:

答案 0 :(得分:1)

你可以尝试:

<script>        
    function toggle(id, value)
    {
       document.getElementById('img').src = "scriptURL?id=" + id+ "&value=" + value;   } 
 </script>  

 <input type="checkbox" name="toggleBox" onclick="toggle(this.id,this.checked);"/>

 <img src="scriptURL" id="img" style="display:none;"/> 

图像被隐藏,当您单击复选框时,它会向图像发送一条消息,以便从&#34; scriptURL&#34;重新加载。

&#34;在scriptUrl&#34;接收控件的名称和值 - 您的代码可以从查询字符串中选择它们并处理它们。

它对用户完全透明,并且不需要任何其他框架。

或者

<script>

    function toggle(id, value)
    {
       var url = "scriptURL?id=" + id+ "&value=" + value; 

       // this sends the name and value parameters to the scriptURL
       $("<div/>").html(url);
    } 


    $(document).ready(function(){

        $(".toggleBox").bind("click", function(){
            toggle($(this).attr("id"), $(this).is(':checked'));
        });
    });

</script>


<input type="checkbox" id="something" name="something" class="toggleBox" />

Ruby脚本:

...
require 'cgi' 

params = CGI.parse(request.query_string) 
# params is now {"id"=>["id name"], "value"=>["true or false"]} 

**Completed = p['value'].first** 

... rest of your code ...