0

我正在使用 jQuery Star Rating 系统将下拉框转换为五颗星等。它工作正常,但我无法让它在页面加载时保持预选值。它总是在没有选择任何内容的情况下加载。

这是我在 test.html 中的选择:

<select name="rating" class="rating">
     <option value="1">Very poor</option>
     <option selected value="2">Not Bad</option>
     <option value="3">Average</option>
     <option value="4">Good</option>
     <option value="5">Perfect</option>
</select>

还有我在 test.html 中的 jQuery:

$(document).ready(function(){
$(".rating").rating();
});

还有一个应该从 jquery.rating.js 做我需要的部分

(function ($) {

$.fn.rating = function(options)
{

    var settings =
    {
       showCancel: true,
       cancelValue: null,
       cancelTitle: "Cancel",
       startValue: null,
       disabled: false
    };

现在根据文档,如果 startValue 为 NULL,我应该能够在我的下拉菜单中使用 selected="selected" 选项,但这不起作用,所以我将 startValue 设置为 2,然后当我没有尝试“还不错”,但仍然一无所获。但是,如果我将 .js 文件中的 disabled 更改为 false,它会按原样锁定星级。我被难住了,有人有什么想法吗?

4

2 回答 2

0

你可以试试:

$('.rating > option[value=2]').attr('selected', true);

上面将设置带有2要选择的值的选项。您需要在2上面调整您想要在下拉列表中选择的任何选项。

于 2012-06-26T18:33:22.070 回答
0

我知道这对游戏来说已经很晚了,但是以防万一您仍然遇到此问题,或者其他人遇到此问题并需要答案……这应该可以。

在这之后:

$(document).ready(function(){
    $(".rating").rating();
    ...

尝试这个:

    ...
    $(".rating").val(2).change();

根据文档,如果要手动设置值,则必须专门调用“.change()”。我在自己的网站之一中执行此操作。老实说,我对这个插件的评价并不高,但有时你别无选择 :-/

于 2013-09-06T16:19:27.420 回答