2013-11-25 73 views
0

我正在嘗試構建評級表單並希望使用JQuery UI增量滑塊,除非我不想將該值設置爲數字,我希望它能說出類似「很好」的內容或「壞」沒有數字的JQuery UI滑塊

我很擅長與HTML & CSS與JavaScript或JQuery沒有太大關係。我在下個月在紐約上課,幫助我更加流利地使用這些語言。同時,任何和所有的幫助表示讚賞。我試圖破解我發現的其他腳本,但仍然遇到問題。我跑到這個腳本接近我想要的,除了增量顯示#s。

我感覺好像這段代碼可以很容易地修改來做我想做的事。

http://jsfiddle.net/dmcgrew/EquTn/3/

<html> 

<div class="kpa_rate kpa_rate1"> 
    <label for="kpa1_rating_value">Parking:</label> 

    <div id="1" class="slider"></div> 
    <input type="text" class="kpa1_rating_value" name="kpa1_rating" value="0" />  
</div> 




<div class="kpa_rate kpa_rate2"> 
    <label for="kpa2_rating_value">Entrance:</label> 

    <div id="2" class="slider"></div> 
    <input type="text" class="kpa2_rating_value" name="kpa2_rating" value="0" /> 
</div> 



</html> 

的JavaScript

<script> 
$(function() { 
       $(".slider").slider({ 
        range: "max", 
        min: 0, 
        max: 5, 
        value: $("input", this).val(), 
        slide: function(event, ui) {      
        //get the id of this slider 
        var id = $(this).attr("id"); 
        //select the input box that has the same id as the slider within it and set it's value to the current slider value. 
        $("span[class*=" + id + "]").text(ui.value); 
        $("input[class*=" + id + "]").val(ui.value); 
        } 
       }); 
       }); 
</script> 
+0

_「我不希望值是數字,我希望它能說「很好」或「不好」這樣的字眼。我首先製作一個將文本映射到值的數組。 – j08691

+0

對數組進行了一些搜索並對其進行映射。試圖自學Javascript,甚至檢出CodeAcademy,我終於放下了心,剛剛註冊了一堂課,希望我能通過這門課程,可以幫助我通過這個障礙 – user2984539

+0

你想使用什麼樣的文本值(除了偉大和壞)? – j08691

回答

0

你要爲每個值不同的話( 「大,好,中性等」),或剛剛好/壞的兩端?

如果你想讓5個值中的每一個都有不同的單詞,那麼就像j08691所說的那樣,在你想要的索引中創建一個包含你想要的單詞的數組。

之後,將.val(ui.value)中的ui.value替換爲值的數組(Arr [ui.value])。 (我不確定你實際上是否需要「span」部分,但我不會去做jquery,所以我不確定)。

$(function() { 
     var Array = ["die","very bad", "bad", "neutral","good","great"]; 
      $(".slider")...etc 
          ... 
$("input[class*=" + id + "]").val(Array[ui.value]); 

這對我有效。

我做了一些修補,我想我已經找到了一種表面上解決你的問題的方法。由於作爲第一個值輸入的數字不會影響滑塊按鈕/東西,所以我只需要放置滑塊應該指示的第一個單詞(在我的情況下爲「死亡」)。 //值不等於這裏的數字

在下一位代碼中,只需將輸入更改爲Array [input],並且您應該全部設置! 分:0, 最大:5, 價值:$(「數組[輸入]」

我希望這個作品不夠好,你

+0

謝謝。我會盡我所能。可悲的是,我對JavaScript並不擅長。因此,爲什麼我不斷重複我正在下個月上課。非常感謝您的幫助。 – user2984539

+0

謝謝!工作很好。沒想到我可以做到這一點,但在你的幫助下它能奏效。非常感激。 – user2984539

+0

出現問題。我能夠得到的話出現,但現在最初顯示的值是一個數字。我試圖改變代碼,它的值=「2」,但是滑塊不起作用。有任何想法嗎? – user2984539