 
     options = $(event.target).data()
 
-    # ensure there is at least one box checked, and error if not
-    checked = _.size(_.filter(this.get_batch_checkboxes(), (cb) -> cb.checked))
-    if checked == 0
+    # ensure there is at least one item selected, and error if not
+    selected = this.get_selected_count()
+    if selected == 0
       @alert.html(I18n.t("layout.no_selection")).addClass('alert-danger').show()
       @alert.delay(2500).fadeOut('slow', this.reset_alert.bind(this))
 
     # else, show confirm dialog (if requested), and proceed if 'yes' clicked
-    else if not options.confirm or confirm(options.confirm.replace(/###/, @count))
+    else if not options.confirm or confirm(options.confirm.replace(/###/, selected))
 
       # construct a temporary form
       form = $('<form>').attr('action', options.path).attr('method', 'post').attr('style', 'display: none')


    if @pages > 1 and @select_all_field.val()
      msg = if @is_search then 'searched_rows_selected' else 'all_rows_selected'
      @alert.html(I18n.t("index_table.messages.#{msg}", { count: @count }))
      @alert.addClass('alert-info').show()

  # gets all checkboxes in batch_form
  get_batch_checkboxes: ->
    @form.find('input[type=checkbox].batch_op')

  # event handler for when a checkbox is clicked
  checkbox_changed: (event) ->

    @select_all_field = this.$el.find('input[name=select_all]')
    @alert = this.$el.find('div.alert')
    @pages = this.$el.data('pages')
    @entries = this.$el.data('entries')

    # flash the modified obj if given
    if params.modified_obj_id
