From 3d3b46f7f3b81b78cbec78353a1256bf88b2f68d Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 24 Oct 2016 16:01:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E5=8D=B7=EF=BC=9A=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E9=80=89=E5=AE=9A=E6=97=B6=EF=BC=8C=E5=85=B6=E5=AE=83=20?= =?UTF-8?q?=E9=80=89=E9=A1=B9=E7=9A=84=E8=BE=93=E5=85=A5=E6=A1=86=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E3=80=82=E9=80=89=E6=8B=A9=E4=BA=86=E6=89=8D=E5=8F=AF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/poll_controller.rb | 18 ++++++++++++++---- app/views/poll/show.html.erb | 22 +++++++++++++--------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index 9884121f6..80ca174c8 100644 --- a/app/controllers/poll_controller.rb +++ b/app/controllers/poll_controller.rb @@ -312,11 +312,21 @@ class PollController < ApplicationController end else #pv不为空,则当前选项之前已被选择,再次点击则是不再选择该项,故删除该答案 - if pv.delete - @percent = get_percent(@poll,User.current) - render :json => {:text => "false" ,:percent => format("%.2f" ,@percent)} + if params[:vote_text] + pv.vote_text = params[:vote_text] + if pv.save + @percent = get_percent(@poll,User.current) + render :json => {:text => "ok",:percent => format("%.2f" ,@percent)} + else + render :json => {:text => "failure"} + end else - render :json => {:text => "failure"} + if pv.delete + @percent = get_percent(@poll,User.current) + render :json => {:text => "false" ,:percent => format("%.2f" ,@percent)} + else + render :json => {:text => "failure"} + end end end elsif pq.question_type == 3 diff --git a/app/views/poll/show.html.erb b/app/views/poll/show.html.erb index 055eecc7b..594744bb9 100644 --- a/app/views/poll/show.html.erb +++ b/app/views/poll/show.html.erb @@ -47,12 +47,11 @@ }, success: function (data) { var dataObj = eval(data); - document.getElementById("poll_vote_<%=pq.id %>poll_answer_id_<%=pa.id %>").checked = true; - var span = $('#percent'); - span.html(dataObj.percent); + //document.getElementById("poll_vote_<%#=pq.id %>poll_answer_id_<%#=pa.id %>").checked = true; + //var span = $('#percent'); + //span.html(dataObj.percent); } }); - } function click_<%= pa.id %>(obj) { @@ -68,10 +67,13 @@ if(dataObj.text == "ok") { obj.checked = true; + $(obj).parent().parent().parent().parent().find("input[type='text']").attr("disabled", "disabled"); + $(obj).next('input').removeAttr("disabled"); } else { obj.checked = false; + $(obj).next('input').attr("disabled", "disabled"); } var span = $('#percent'); span.html(dataObj.percent); @@ -84,7 +86,7 @@ <%= radio_button "poll_vote",pq.id.to_s+"poll_answer_id",pa.id,:class=>"ur_radio",:onclick =>"click_#{pa.id}(this);return false;",:checked => answer_be_selected?(pa,User.current),:disabled => !@can_edit_poll %> <% if pa.answer_text == "" %> - placeholder="其他"> + placeholder="其他"> <% else %> <%= pa.answer_text %> <% end %> @@ -135,9 +137,9 @@ }, success: function (data) { var dataObj = eval(data); - document.getElementById("poll_vote_<%=pq.id %>poll_answer_id_<%=pa.id %>").checked = true; - var span = $('#percent'); - span.html(dataObj.percent); + //document.getElementById("poll_vote_<%#=pq.id %>poll_answer_id_<%#=pa.id %>").checked = true; + //var span = $('#percent'); + //span.html(dataObj.percent); } }); } @@ -155,10 +157,12 @@ if(dataObj.text == "ok") { obj.checked = true; + $(obj).next('input').removeAttr("disabled"); } else { obj.checked = false; + $(obj).next('input').attr("disabled", "disabled"); } var span = $('#percent'); span.html(dataObj.percent); @@ -171,7 +175,7 @@ <%= @can_edit_poll?"":"disabled=disabled" %> > <% if pa.answer_text == "" %> - placeholder="其他"> + placeholder="其他"> <% else %> <%= pa.answer_text %> <% end %>