【发布时间】:2016-06-17 22:15:57
【问题描述】:
通过点击“向上”或“向下”按钮,块 div with class= poll_row 应该用更早或更晚的方式改变位置 div with class= poll_row 并改变+1 或 -1 上隐藏字段的 value 属性
具有以下功能:
资产/javascripts/poll_items.js
$(function(){
$(document).on('click', '.down_id', function() {
$(this).siblings('.sequence').val(parseFloat( $(this).siblings('.sequence').val() ) + 1);
$(this).parent().next().children('.sequence').val( $(this).parent().next().children('.sequence').val() - 1);
$(this).closest('.poll_row').insertAfter($(this).closest('.poll_row').next());
});
$(document).on('click','.up_id', function() {
$(this).siblings('.sequence').val(parseFloat( $(this).siblings('.sequence').val() ) -1);
$(this).parent().prev().children('.sequence').val(parseFloat($(this).parent().prev().children('.sequence').val())+ 1);
$(this).closest('.poll_row').insertBefore($(this).closest('.poll_row').prev());
});
点击按钮改变隐藏标签的值。
但只有双击按钮才能反转块。我不明白是什么导致我第一次点击时什么都没有发生
错在哪里?
polls/edit.html.haml
.................................................
.items-index
= f.simple_fields_for :poll_items do |poll|
= render 'poll_item_fields', f: poll
.................................................
民意调查/poll_item_fields.html.haml
.poll_row
.poll_item
= f.input :answer, input_html: { class: 'ctrlenter expanding' }, label: false, placeholder: 'Введите вариант ответа'
= f.hidden_field :sequence, class: 'sequence'
= button_tag 'вверх', type: 'button', class: 'up_id', value: 'вверх'
= button_tag 'вниз', type: 'button', class: 'down_id', value: 'вниз'
- if @poll.editable?(current_user)
= link_to_remove_association "удалить", f, { wrapper_class: 'poll_item' }
【问题讨论】:
标签: javascript jquery ruby-on-rails haml