用于 jQuery UI 的 Star Rating 小部件

Posted

技术标签:

【中文标题】用于 jQuery UI 的 Star Rating 小部件【英文标题】:Star Rating widget for jQuery UI 【发布时间】:2010-12-05 18:43:09 【问题描述】:

我被介绍给 jQuery UI 的 Star Rating widget。 我最初使用的是this one。

使用这两者有什么区别吗?

尝试使用 jquery UI 时,我无法让输入按钮显示为星号。我包含了这些 js 和 css 文件:

<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script>
<script src="ui.stars.js" type="text/javascript"></script>
<link href="ui.stars.css" type="text/css" rel="stylesheet" />

对于我的代码,简单地说:

<form>
    Rating: <span id="stars-cap"></span>
    <div id="stars-wrapper1">
        <input type="radio" name="newrate" value="1" title="Very poor" />
        <input type="radio" name="newrate" value="2" title="Poor" />
        <input type="radio" name="newrate" value="3" title="Not that bad" />
        <input type="radio" name="newrate" value="4" title="Fair" />
        <input type="radio" name="newrate" value="5" title="Average" checked="checked" />
        <input type="radio" name="newrate" value="6" title="Almost good" />
        <input type="radio" name="newrate" value="7" title="Good" />
        <input type="radio" name="newrate" value="8" title="Very good" />
        <input type="radio" name="newrate" value="9" title="Excellent" />
        <input type="radio" name="newrate" value="10" title="Perfect" />
    </div>
</form>

所有文件和图像都在同一个文件夹中。我以前从未使用过 jquery UI,所以我不确定我是否只需要那个文件。我也不确定它是否需要它,我使用的其他星级插件不需要它。有人知道我错过了什么吗?

【问题讨论】:

【参考方案1】:

通常 jquery ui css 文件引用名为 images 的文件夹中的图像,放置与 css 文件相同的目录。因此,您需要更改 ui.stars.js 中引用图像的路径。

  |
  --images
     |
     ---image files are here
  |
  --ui.stars.css

【讨论】:

奇怪,我创建了 images 文件夹并将 ui.stars.gif 放入其中,但仍然没有成功。【参考方案2】:

当使用 orkans 的 star_rating 时,你需要告诉它明确地将单选按钮转换为星星,像这样(我使用 jQuery.noConflict 模式):

jQuery(document).ready(function($)
  $("#stars-wrapper1").stars();

【讨论】:

【参考方案3】:

我发现,我下载的版本的问题是,对象 o 没有在 _init 函数中正常初始化(未加载 ui.star.js 末尾的默认值)。该对象还设置 CSS 值(类)。我还没有找到解决方案,但一个简单的解决方法是,在您页面上的星星初始化时填充这些值:

  <script type="text/javascript">
    $("#stars-wrapper1").stars(
    cancelClass: "ui-stars-cancel",
    starClass: "ui-stars-star",
    starOnClass: "ui-stars-star-on",
    starHoverClass: "ui-stars-star-hover",
    starDisabledClass: "ui-stars-star-disabled",
    cancelHoverClass: "ui-stars-cancel-hover",
    cancelDisabledClass: "ui-stars-cancel-disabled"
    );
  </script>

【讨论】:

以上是关于用于 jQuery UI 的 Star Rating 小部件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery:用于博客的带有核心 jQuery 或 jQuery UI 的纯 HTML/CSS?

用于颜色选择的jQuery UI小部件(类似于Microsoft Office 2010中的小部件)。

scss 用于jQuery UI自动完成的引导样式

Jquery ui 1.8.10 范围滑块不适用于 jquery 3.4.1

可拖动的 jQuery UI 不适用于动态创建的 div

jQuery UI 中的 disableSelection 用于啥?