Get multiple values checkbox tag [closed]

1

I'm displaying a table with data coming from a xml , so I'm traversing the array @ag and assembling the elements of each line. Each line has a check_box_tag to select the elements to delete.

Now what I need is each line selected to extract two elements, which would be ID and date code, since deleting I need to give request with these two data. The problem is that I am not able to extract two columns by clicking check_box_tag .

I have a function in javascript to store the selected elements in an array I would also have to change this function to store in a multidimensional array. My main question now is how to extract these two columns by clicking on check_box_tag .

Loop to display content from xml :

<% @ag.each do |x|  %>
    <tr>
        <td align="center">
        <%= check_box_tag "#{x[0]}", 0, false, :name=> "chk_del", :onclick => "MultiSelectIDs('chk_del');" %>
         </td>
        <% x.each do |y|  %>  
            <td align="center"><%= y%></td>
            <% end %>
        </tr>
    <% end %>

<%= text_field_tag :selected_ids, "", :size=>100 %>

javascript function:

// Insere na textbox especificada em fieldname os ids selecionados na listagem através dos checkbox
function MultiSelectIDs(FieldName) {
    var selected_ids = new Array()
    var objCheckBoxes = document.getElementsByName(FieldName);
    for(var i = 0; i < objCheckBoxes.length; i++){
        if (objCheckBoxes[i].checked) {
            var x = selected_ids.splice(selected_ids.length,0, objCheckBoxes[i].id); 
        }
    }
    document.getElementById('selected_ids').value = selected_ids.join(", ")
};

Thank you!

    
asked by anonymous 07.10.2014 / 14:34

1 answer

0

Let's imagine that you have the data with the following structure (I will use json for being simpler to write):

json [{ "id": 2, "name": "xpto", "date": "2014-11-11" }, { "id": 3, "name": "xpto2", "date": "2014-11-12" }, { "id": 4, "name": "xpto3", "date": "2014-11-14" }]

If you do not have a specific format for how you should send the date and identifier in the request to delete, you can do without any javascript, just by setting up your checkbox to put both information:

You can put your checkbox with the name property with a value similar to elements[<id>][<date>] . Or put elements[<date>][][id] .

In both cases your application will receive a multidimensional array with all the information you need.

If you need a specific format to make the request, please let us know and we can review it. If you need examples of how to get this information, please indicate which language you use in the backend and we can provide some code.

    
26.11.2014 / 13:35