hi u can try this way
in ur view the check_box likee
<th> Select All
<input id="check_all" name="check_all" type="checkbox"
onclick="Form.getInputs('users', 'checkbox').each(function(box){box.checked
= $('check_all').checked})" />
<th>
and in the user loop
<input type="checkbox" class="check" name="user_status[]" value="<%=
user.id%>" />
and in ur controller...
for user in params[:user_status]
puts user
###' should be able get the all the user ids that are selected
end
hope it will help u.
:) Bala
On Wed, Oct 15, 2008 at 1:18 PM, Indu RS
<[EMAIL PROTECTED]>wrote:
>
> Hai
> Just started to learn Ruby on Rails
> I have a list of users displayed as rows and towards each row there is a
> check box. There is a "Select All" , and "Approve" buttons. On clicking
> the Select All button I want to check all the check boxes or can check
> the boxes separtely if don't want to check all the boxes and then after
> submitting the Approve button wish to change the status of the
> selecteds
> users(which users whose check box is checked) to approved. Pls give me
> suggestions in doing this.
>
> <table width="100%" border="1">
> <tr><td colspan="6" align="center"><h3>User list</h3></td>
> </tr>
> <tr>
> <th>Name</th>
> <th>User Name</th>
> <th>Address</th>
> <th> Country</th>
> <th>Language</th>
>
> <th> <%= submit_tag "Select All", :onclick=>"return check_all()" %>
> </th>
>
> </tr>
> <% count = 0 %>
> <%= form_tag :controller=>"user",:action=>"list_users"%>
> <% for user in @users %>
> <% count = count + 1%>
> <tr>
> <td align="center"><%=link_to
> user.name,:controller=>"User",:action=>"edit", :id=>user.id %></td>
> <td align="center"><%= user.username %></td>
> <td align="center"><%= user.address %></td>
> <td align="center"><%= user.country.name %></td>
> <td align="center"><%= user.language.language %>
> <td> <%= check_box_tag "user_status"+count.to_s,user.id%>
> </tr>
> <% end %>
> <%= hidden_field_tag "h_id" ,count %>
> <tr><td colspan="6" align="center">
> <%= will_paginate @users %><br>
> <%= submit_tag "Approve", :controller=>"user"
> ,:action=>"list_users",:class=>"test"%>
> </table>
>
> and in my controller I tried this one
>
> def list_users
>
> if !(params[:search].blank? and params[:country_id].blank?)
> if request.post? and params[:commit] == "Search"
> @users =
> User.search(params[:search],params[:country_id],params[:page])
> else
>
> @users = User.paginate :page=>params[:page],:per_page => 2
> end
> else
> @users = User.paginate :page=>params[:page],:per_page => 2
> end
> if @users.blank?
> flash[:notice] = 'No Records Found.'
> end
>
> if request.post? and params[:commit] == "Approve"
> params[:user_status].each do |ln|
> @user = User.find(ln)
> @user.update_attribute(:user_status,1)
> end
>
> end
> end
> Now if selected users separately(not by using the "Select All"
> button) the status of the selected users are changing. But the "Select
> All" button is not working. ie when clicking on the "Select All" button
> only the first one in the list is selecting
>
> and in my javascript i wrote
> function check_all() {
> var count = document.getElementById('h_id').value;
> for(i=1;i<=count;i++){
> document.getElementById('user_status'+i).checked = true
> }
> return false;
> }
> Pleas help in solving this problem
> Thanks in advance
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---