2012-06-26 83 views
0

我正在使用將下拉框轉換爲五星等的jQuery Star Rating系統。它工作正常,但我無法在頁面加載時保持預先選定的值。它總是加載沒有選中的東西。jQuery星級評分指定值

這是我的選擇中的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> 

而我的jQuery中的test.html:

$(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」op在我的下拉列表中,這不起作用,所以我將startValue設置爲2,然後當沒有嘗試「不好」時,仍然沒有任何結果。但是,如果我將.js文件中的禁用項更改爲false,則會按照它應該的那樣鎖定星級。我很難過,有人有什麼想法嗎?

回答

0

你可以嘗試這樣的:

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

上面會設定值2選項被選中。您需要調整上面的2以選擇您希望在下拉菜單中選擇的選項。

+0

不幸的是,這仍然沒有解決它 – forevermetal02

0

我知道這是遊戲遲到,但萬一你仍然有這個問題,或其他人遇到這個問題,需要一個答案......這應該工作。

在此之後:

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

試試這個:

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

根據該文檔,你必須明確稱之爲 「.change()」 如果你想手動設置的值。我在我自己的網站上執行此操作。說實話,我不認爲這個插件非常高,但有時你沒有選擇: -/