【问题标题】:Convert numbers into star rating using XML使用 XML 将数字转换为星级
【发布时间】:2014-03-05 22:05:11
【问题描述】:

我很好奇如何解释这个相同的教程,但是如何使用它将 XML 转换为 PHP 以显示星星。 Tutorial

这是我的代码:

<form action="xmlprocessad.php" method="POST" id="myform">
  <div class="step4-inputs">
      <input type="text" name="newrating">
          <span class="stars">**Class that displays stars**
               <span></span>
           </span>
       </input
   </div>
</form>

这是 JQuery 代码:

$(function() {          
  $('.submit-btn3').click(function() {
  $('p').html('<spanclass="stars">'+parseFloat($('input[name=newrating]').val())+'</span>');
            $('span.stars').stars();
        });         
        $('.submit-btn3').click();
    });

    $.fn.stars = function() {
        return $(this).each(function() {
            $(this).html($('<span />').width(Math.max(0, (Math.min(5, parseFloat($(this).html())))) * 16));
        });
    }

但由于某种原因,它不会将我的数字转换为这个星图,有人可以帮我理解为什么吗?谢谢!

【问题讨论】:

  • 看起来您缺少设置包含星星的背景图像的 css。
  • @jeroen 是我的错,因为我没有将其包括在内,但我确实有代码。不显示是不是有什么原因?
  • spanclass 是错字吗?

标签: php jquery xml


【解决方案1】:

你只是少了一个空格

 $('p').html('<span class="stars">'+parseFloat($('input[name=newrating]').val())+'</span>');

这应该可以解决它。

编辑:

<form action="xmlprocessad.php" method="POST" id="myform">
  <div class="step4-inputs">
    <input type="text" name="newrating" />
    <span class="stars">**Class that displays stars**</span>
  </div>
</form>

除此之外,您是否使用浏览器控制台检查该函数是否实际被调用?我不是 JS 专家,但你不应该在尝试调用它之前声明你的函数吗?

【讨论】:

  • @hjpotter92 在运行该函数时它会在控制台中触发,但似乎当我输入一个数字时,它不会根据该数字填充星星。它只是将我添加的每条评论都填充为 5 星评级。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多