Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以使用Ajax切换div吗? 我有一个投票系统,用于一个模型细分,如果用户点击一个图标投票,那么他的IP地址被添加到一个列表中,这会阻止他再次投票,而空白投票图标被一个绿色投票图标所取代,这两个图标都是在分立的div中定义的。我想把这个过程简化一下。我已经知道了如何使用Ajax更新投票计数,但是有没有办法在单击按钮时切换投票图标div_Javascript_Ruby On Rails_Ruby_Ajax_Ruby On Rails 4 - Fatal编程技术网

Javascript 我可以使用Ajax切换div吗? 我有一个投票系统,用于一个模型细分,如果用户点击一个图标投票,那么他的IP地址被添加到一个列表中,这会阻止他再次投票,而空白投票图标被一个绿色投票图标所取代,这两个图标都是在分立的div中定义的。我想把这个过程简化一下。我已经知道了如何使用Ajax更新投票计数,但是有没有办法在单击按钮时切换投票图标div

Javascript 我可以使用Ajax切换div吗? 我有一个投票系统,用于一个模型细分,如果用户点击一个图标投票,那么他的IP地址被添加到一个列表中,这会阻止他再次投票,而空白投票图标被一个绿色投票图标所取代,这两个图标都是在分立的div中定义的。我想把这个过程简化一下。我已经知道了如何使用Ajax更新投票计数,但是有没有办法在单击按钮时切换投票图标div,javascript,ruby-on-rails,ruby,ajax,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Ajax,Ruby On Rails 4,到目前为止,我得到的是:假设我想将切换到 views/things/show.html.erb: <% if ((!@subratingip.include? request.remote_ip) && (!@subratingunip.include? request.remote_ip)) %> <div id="subratings" > <div id="<%= subrating.name %>

到目前为止,我得到的是:假设我想将
切换到

views/things/show.html.erb:

    <% if ((!@subratingip.include? request.remote_ip) && (!@subratingunip.include? request.remote_ip)) %>
      <div id="subratings" >
        <div id="<%= subrating.name %>"><%= number_to_percentage(subrating.rating, precision: 0) %></div>
        <div id="<%= subrating.name %>upz">
          <a id="<%= subrating.name.downcase %>_link"><%= link_to image_tag("UpArrowGray.png", alt: "votedown", class: 'uparrowsub' ), upvote_subrating_path(:id => subrating.id), method: :get %></a>
        </div>
        <script type="text/javascript">
          $("#<%= subrating.name.downcase %>_link").click(function () {
            $.get( "<%= upvote_subrating_path(:id => subrating.id) %>", function( data ) {
              $('#<%= subrating.name %>').html(data + ' %');
            });
          });
        </script>

尝试将这一行
$(“#upz).attr(“id”,“voted”)
添加到您的单击中,这将更改div的id。但是,您似乎是根据div内的内容设置图像,这意味着您应该删除/隐藏div#upz并添加/显示div#voted


$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
});
$(“#upz”).attr(“id”,“投票”);
});

尝试添加此行
$(“#upz).attr(“id”,“投票”)
单击可更改div的id。但是,您似乎是根据div内的内容设置图像,这意味着您应该删除/隐藏div#upz并添加/显示div#投票


$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
});
$(“#upz”).attr(“id”,“投票”);
});

尝试将这一行
$(“#upz).attr(“id”,“voted”)
添加到您的单击中,这将更改div的id。但是,您似乎是根据div内的内容设置图像,这意味着您应该删除/隐藏div#upz并添加/显示div#voted


$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
});
$(“#upz”).attr(“id”,“投票”);
});

尝试添加此行
$(“#upz).attr(“id”,“投票”)
单击可更改div的id。但是,您似乎是在根据div内的内容设置图像,这意味着您应该删除/隐藏div#upz并添加/显示div#


$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
});
$(“#upz”).attr(“id”,“投票”);
});

更好的解决方案是使用基于类的选择器和CSS

<div id="subratings">
    <div class="subrating">
        <ul class="actions">
            <li class="upvote"><%= link_to("Upvote", upvote_subrating_path(subrating)) %></li>
            <li class="downvote disabled"><%= link_to("Downvote", downvote_subrating_path(subrating)) %></li>
        </ul>
    </div>
</div>

更好的解决方案是使用基于类的选择器和CSS

<div id="subratings">
    <div class="subrating">
        <ul class="actions">
            <li class="upvote"><%= link_to("Upvote", upvote_subrating_path(subrating)) %></li>
            <li class="downvote disabled"><%= link_to("Downvote", downvote_subrating_path(subrating)) %></li>
        </ul>
    </div>
</div>

更好的解决方案是使用基于类的选择器和CSS

<div id="subratings">
    <div class="subrating">
        <ul class="actions">
            <li class="upvote"><%= link_to("Upvote", upvote_subrating_path(subrating)) %></li>
            <li class="downvote disabled"><%= link_to("Downvote", downvote_subrating_path(subrating)) %></li>
        </ul>
    </div>
</div>

更好的解决方案是使用基于类的选择器和CSS

<div id="subratings">
    <div class="subrating">
        <ul class="actions">
            <li class="upvote"><%= link_to("Upvote", upvote_subrating_path(subrating)) %></li>
            <li class="downvote disabled"><%= link_to("Downvote", downvote_subrating_path(subrating)) %></li>
        </ul>
    </div>
</div>

事实上,我可以将图像作为html插入:

    <script type="text/javascript">
      $("#<%= subrating.name.downcase %>_link").click(function () {
        $.get( "<%= upvote_subrating_path(:id => subrating.id) %>", function( data ) {
          $('#<%= subrating.name %>').html(data + ' %');
          $('#<%= subrating.name %>'upz).html( '<%= image_tag("UpArrowGreen.png" %>');
        });
      });
    </script>

$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
$('#'upz).html('');
});
});

事实证明,我可以将图像作为html插入:

    <script type="text/javascript">
      $("#<%= subrating.name.downcase %>_link").click(function () {
        $.get( "<%= upvote_subrating_path(:id => subrating.id) %>", function( data ) {
          $('#<%= subrating.name %>').html(data + ' %');
          $('#<%= subrating.name %>'upz).html( '<%= image_tag("UpArrowGreen.png" %>');
        });
      });
    </script>

$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
$('#'upz).html('');
});
});

事实证明,我可以将图像作为html插入:

    <script type="text/javascript">
      $("#<%= subrating.name.downcase %>_link").click(function () {
        $.get( "<%= upvote_subrating_path(:id => subrating.id) %>", function( data ) {
          $('#<%= subrating.name %>').html(data + ' %');
          $('#<%= subrating.name %>'upz).html( '<%= image_tag("UpArrowGreen.png" %>');
        });
      });
    </script>

$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
$('#'upz).html('');
});
});

事实证明,我可以将图像作为html插入:

    <script type="text/javascript">
      $("#<%= subrating.name.downcase %>_link").click(function () {
        $.get( "<%= upvote_subrating_path(:id => subrating.id) %>", function( data ) {
          $('#<%= subrating.name %>').html(data + ' %');
          $('#<%= subrating.name %>'upz).html( '<%= image_tag("UpArrowGreen.png" %>');
        });
      });
    </script>

$(“##_链接”)。单击(函数(){
$.get(“subrating.id)%>”,函数(数据){
$('#').html(数据+'%');
$('#'upz).html('');
});
});


在您的视图中,您还有很多逻辑。你的观点不应该对谁可以对什么投票负责。你的意思是阻止一个ip地址投票两次?您还建议我如何调节它?在助手方法或控制器中。你的观点应该有一些条件,比如
如果你能投票?如果登录,请执行
或操作。最重要。我当前的模型是否降低了加载时间?不一定-但复杂视图很难测试,调试也很困难,通常被视为MVC实践不佳。在你看来,你也有很多逻辑。你的观点不应该对谁可以对什么投票负责。你的意思是阻止一个ip地址投票两次?您还建议我如何调节它?在助手方法或控制器中。你的观点应该有一些条件,比如
如果你能投票?如果登录,请执行
或操作。最重要。我当前的模型是否降低了加载时间?不一定-但复杂视图很难测试,调试也很困难,通常被视为MVC实践不佳。在你看来,你也有很多逻辑。你的观点不应该对谁可以对什么投票负责。你的意思是阻止一个ip地址投票两次?您还建议我如何调节它?在助手方法或控制器中。你的观点应该有一些条件,比如
如果你能投票?如果登录,请执行
或操作。最重要。我当前的模型是否降低了加载时间?不一定-但复杂视图很难测试,调试也很困难,通常被视为MVC实践不佳。在你看来,你也有很多逻辑。你的观点不应该对谁可以对什么投票负责。你的意思是阻止一个ip地址投票两次?您还建议我如何调节它?在助手方法或控制器中。你的观点应该有一些条件,比如
如果你能投票?如果登录,请执行
或操作。最重要。我当前的模型是否降低了加载时间?不一定-但复杂视图很难测试和更新