Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止在表单提交或页面刷新后取消选中复选框?_Javascript_Jquery_Ruby On Rails 3.2 - Fatal编程技术网

Javascript 如何防止在表单提交或页面刷新后取消选中复选框?

Javascript 如何防止在表单提交或页面刷新后取消选中复选框?,javascript,jquery,ruby-on-rails-3.2,Javascript,Jquery,Ruby On Rails 3.2,我在使用RubyonRails3.2的复选框时遇到问题。复选框值通常保存到数据库中,但当我刷新页面或单击表单上的“提交”按钮时,复选框不会保持选中状态,我不知道这里缺少了什么。每次刷新或提交时,它都会被取消选中。谢谢你的帮助。复选框有\u可用\u空间是一个布尔数据库值 数据库(复选框值) 路线 namespace :users do match 'update_location' => 'location#update', :via => [:post]

我在使用RubyonRails3.2的复选框时遇到问题。复选框值通常保存到数据库中,但当我刷新页面或单击表单上的“提交”按钮时,复选框不会保持选中状态,我不知道这里缺少了什么。每次刷新或提交时,它都会被取消选中。谢谢你的帮助。复选框有\u可用\u空间是一个布尔数据库值

数据库(复选框值)

路线

    namespace :users do
       match 'update_location' => 'location#update', :via => [:post]
    end
模型用户

    has_one :user_location
模型用户位置

    belongs_to :user
控制器

    def update 
     @user = User.find(params[:id])
     if @user.user_location.nil?
         @user.user_location = UserLocation.new
     end
     @user.user_location.has_available_space = params[:checkbox_has_available_space]
     @user.save!
     @user.user_location.save!
     redirect_to '/users/location'
    end
看法


我有空位

您需要将checked属性添加到checkbox元素中:

`<input type="checkbox" checked />`
``

我尝试过,但在这种情况下,复选框始终处于选中状态。我只需要在检查时检查它,并在刷新或提交后保持检查状态。是的,但您肯定可以将
checked
attr设置为视图中的变量,具体取决于您是否希望检查它。我不确定是否理解您的意思。您的意思是,使用jQuery/JavaScript?您应该能够从POST值中获取控制器中的
checked
attr,然后简单地将其打印回视图。很抱歉,我没有看到POST值之间的“checked”attr。我认为问题可能比这更严重。例如,我不确定'value=''是否正确。
    <form id = 'location_form' action="/users/update_location" method="post">
       <input type="hidden" name="id" value="<%= @user.id %>" />
       <input id = 'has_available_space' type="checkbox" name="checkbox_has_available_space" value = '<%= @user.user_location.has_available_space %>' >I have available space
    </form> 
`<input type="checkbox" checked />`