Как обрабатывать чек, снимите все флажки в ruby ​​на рельсах - PullRequest
0 голосов
/ 02 октября 2019

Я новичок в этой области. Я столкнулся с решением, как у меня есть флажок в таблице заголовка, с помощью этого флажка я должен поставить флажок снять все дочерние флажки. Я добавил событие onclick в родительский флажок, как показано ниже:

%th End Date
%th= check_box_tag id: "select_all_checkboxes", label: "B2B Check", onclick:"Tickets.select_all_checks();"
%th SLA

Это где дочерние флажки в табличных данных.

- products.each_with_index do |p, index|
 - content_for :products_brief, flush: true do

%tr
 %td{ "type"=> "button", "class"=> "btn btn-link has-popover", "data-toggle"=> "popover", "title"=> "#{p.serial_no}", "data-content"=> "#{yield(:products_brief)}", "data-html" => "true", "data-trigger" => "hover", "data-placement" => "right" }
- if params[:page]
 = (index+1)+ 10*(params[:page].to_i-1)
- else
 = (index+1)
 %td=p.serial_no
- if params[:from_where] != "cus_product"
 %td= text_field_tag "contract_product_additional_params[#{p.id}][amount]",0, class: "form-control cus_product_amount1", required: true
 %td= text_field_tag "contract_product_additional_params[#{p.id}][discount_amount]",0, class: "form-control cus_product_disamount1", required: true
 %td= text_field_tag "contract_product_additional_params[#{p.id}][contract_start_at]",Date.today, class: "datepicker form-control", required: true
 %td= text_field_tag "contract_product_additional_params[#{p.id}][contract_end_at]", Date.today, class: "datepicker form-control", required: true
 %td= check_box_tag "contract_product_additional_params[#{p.id}][contract_b2b]",nil, class: "form-control selectable_checkbox", required: true
 %td= select_tag "contract_product_additional_params[#{p.id}][sla_id]", options_from_collection_for_select(SlaTime.where(active: 1), :id, :description ) , label_method: :description, include_blank: false, label: "SLA"
 %td= label_tag "#{p.owner_customer_name}"
 %td.hide= hidden_field_tag "contract_product_additional_params[#{p.id}][installed_location_id]", p.owner_customer_id
 %td= label_tag "#{p.location_address.try(:full_address)}"
 %td.hide= hidden_field_tag "contract_product_additional_params[#{p.id}][location_address_id]",p.location_address_id

Я не имею ни малейшей идеи написать код jquery дляэто событие. Можете ли вы помочь мне

select_all_checks: ->
    _this =$(e)

1 Ответ

0 голосов
/ 02 октября 2019

JavaScript:

$(document).ready(function(){
  $('#checkbox-selector').click(function(){
    if ($(this).prop("checked") == true) {
      $('#other-selector input:checkbox').prop('checked', true);
    }
  });
});

CoffeScript:

$(document).ready ->
  $('#checkbox-selector').click ->
    if $(this).prop('checked') == true
      $('#other-selector input:checkbox').prop 'checked', true
    return
  return

Не забудьте заменить #checkbox-selector на ваш селектор.

Вы можете посмотреть здесь. https://codepen.io/oksromn/pen/PoYMEWo

Чтобы быстро и легко перевести javascript в coffescript, используйте http://js2.coffee

...